小编典典

jQuery-如何使$ .post()使用contentType = application / json?

ajax

我注意到在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?


阅读 421

收藏
2020-07-26

共1个答案

小编典典

我想你可能不得不

1.修改源以使$ .post始终使用JSON数据类型,因为它实际上只是预配置$.ajax调用的快捷方式

要么

2. 定义您自己的实用程序功能,该功能是$.ajax您要使用的配置的快捷方式

要么

3. $.post function您可以通过自己的实现通过猴子补丁覆盖。

您的示例中的JSON数据类型是指 服务器返回的数据类型 而不是 发送 到服务器的格式。

2020-07-26