我注意到在jquery中使用$ .post()时,默认contentType为application / x-www-form-urlencoded- 当我的ASP.NET MVC代码需要具有contentType = application / json时
如何使$ .post()发送contentType = application / json?我已经有大量的$ .post()函数,所以我不想更改为$.ajax(),因为这会花费太多时间
如果我尝试
$.post(url, data, function(), "json")
它仍然具有contentType = application / x-www-form- urlencoded。那么,如果没有将contenttype更改为json,那么“ json”参数到底会做什么呢?
$.ajaxSetup({ contentType: "application/json; charset=utf-8" });
那行得通,但会影响我拥有的每个$ .get和$ .post并导致某些中断。
那么,有什么方法可以更改$ .post()的行为来发送contentType = application / json?
我想你可能不得不
1.修改源以使$ .post始终使用JSON数据类型,因为它实际上只是预配置$.ajax调用的快捷方式
$.ajax
要么
2. 定义您自己的实用程序功能,该功能是$.ajax您要使用的配置的快捷方式
3. $.post function您可以通过自己的实现通过猴子补丁覆盖。
$.post function
您的示例中的JSON数据类型是指 从 服务器返回的数据类型 , 而不是 发送 到服务器的格式。