jquery-3.0.0.min.js:4 POST http://localhost:62863/Home/insert 500 (Internal Server Error)
问题点击按钮提交表单一直返回error,查了资料原来是在ASP.NET MVC框架的JSON序列化返回对象时引发的一个运行时错误。也就是data格式错了,后台是这样的按照网上说的把data改了之后还是无果,还是一样报上面的错误按照网上的方法加JSON.stringify()终于跳到后台,但传输过来的data为null,原来contentType: "application/json; charse
问题

点击按钮提交表单一直返回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 contentType 和 dataType , contentType 主要前端发送给后端的格式,dataType设置后端返回的格式。contentType: "application/json; charset=utf-8",是用来告诉服务端 消息主体是序列化后的 JSON 字符串,但是我这里的是json格式,不是json对象。所以没有必要使用这句。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)