问题

在这里插入图片描述
点击按钮提交表单一直返回error,查了资料原来是在ASP.NET MVC框架的JSON序列化返回对象时引发的一个运行时错误。也就是data格式错了,
在这里插入图片描述
后台是这样的
在这里插入图片描述
按照网上说的把data改了之后还是无果,还是一样报上面的错误
在这里插入图片描述
按照网上的方法加JSON.stringify()终于跳到后台,但传输过来的data为null,原来contentType: "application/json; charset=utf-8",这句需要与JSON.stringify()联合起来用。
在这里插入图片描述
然后我一直查为什么传输过去的参数是null,这让我非常迷惑,后来我去掉contentType和data外面的引号之后,神奇地获取到了参数,于是我不得不深入了解一下这个contentType到底何方妖孽。
在这里插入图片描述

解决

所以Failed to load resource: the server responded with a status of 500 (Internal Server Error)这个问题出现的原因是我加了contentType: "application/json; charset=utf-8",这句。为什么呢?这到底何方妖孽,具体了解一下。
参考文章

          $.ajax({
                url: "../Home/insert",
                type: "POST",
                dataType: "json",
                data: {"customer":  $.trim($(customer).val()), "description": $.trim($(description).val()) , "paperid":  $.trim($(paperid).val()),"change": $.trim($(change).val())},
                cache: false,
                success: function () {
                    alert('success');
                }, error: function (jqXHR, textStatus,errorThrown) {
                    console.log(jqXHR+textStatus+errorThrown);
                    alert('error');
                }
            })

拓展

$.ajax contentTypedataType , contentType 主要前端发送给后端的格式,dataType设置后端返回的格式。
contentType: "application/json; charset=utf-8",是用来告诉服务端 消息主体是序列化后的 JSON 字符串,但是我这里的是json格式,不是json对象。所以没有必要使用这句。

参考文章

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐