Jquery - 如何使$ .post()使用contentType = application / json?我注意到在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。那么如果“json”参数没有将contenttype更改为json,那究竟该做什么呢?如果我试试$.ajaxSetup({
contentType: "application/json; charset=utf-8"});这有效但影响我拥有的每一个$ .get和$ .post并导致一些破坏。那么有什么方法可以改变$ .post()的行为来发送contentType = application / json?
3 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
我想你可能不得不这样做
1.修改源代码以使$ .post始终使用JSON数据类型,因为它实际上只是预配置$.ajax
调用的快捷方式
要么
2. 定义您自己的实用程序功能,它是$.ajax
您要使用的配置的快捷方式
要么
3.你可以$.post function
通过猴子补丁覆盖你自己的实现。
示例中的JSON数据类型是指从服务器返回的数据类型,而不是发送到服务器的格式。
繁花如伊
TA贡献2012条经验 获得超12个赞
$.ajax({ url:url, type:"POST", data:data, contentType:"application/json; charset=utf-8", dataType:"json", success: function(){ ... }})
请参阅:jQuery.ajax()
ITMISS
TA贡献1871条经验 获得超8个赞
最后我找到了适合我的解决方案:
jQuery.ajax ({ url: myurl, type: "POST", data: JSON.stringify({data:"test"}), dataType: "json", contentType: "application/json; charset=utf-8", success: function(){ // }});
- 3 回答
- 0 关注
- 15836 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消