最佳答案
我注意到,在jquery中使用$.post()时,默认的内容类型是application/x-www-form-urlencoded -当我的asp.net mvc代码需要有contentType=application/json
(见这个问题为什么我必须使用application/json: ASPNET MVC -为什么是ModelState。is valid false " x字段是必需的"当该字段有值时?)
我怎么能让$.post()发送contentType=应用程序/json?我已经有了大量的$.post()函数,所以我不想更改为$.ajax(),因为这会花费太多时间
如果我尝试
$.post(url, data, function(), "json")
它仍然有contentType=application/x-www-form-urlencoded。那么,如果“json”参数没有将内容类型更改为json,它究竟做了什么呢?
如果我尝试
$.ajaxSetup({
contentType: "application/json; charset=utf-8"
});
这是可行的,但影响到每一美元。Get和$。帖子,我有和导致一些打破。
那么是否有一些方法,我可以改变$.post()的行为发送contentType=application/json?