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 關注
- 16008 瀏覽
相關問題推薦
添加回答
舉報
0/150
提交
取消