Jquery - 如何使$ .post()使用contentType = application / json?我注意到在jquery中使用$ .post()時默認(rèn)的contentType是application / x-www-form-urlencoded - 當(dāng)我的asp.net mvc代碼需要有contentType = application / json如何使$ .post()發(fā)送contentType = application / json?我已經(jīng)有了大量的$ .post()函數(shù),所以我不想改成$ .ajax(),因為它需要花費太多時間如果我試試$.post(url, data, function(), "json")它仍然有contentType = application / x-www-form-urlencoded。那么如果“json”參數(shù)沒有將contenttype更改為json,那究竟該做什么呢?如果我試試$.ajaxSetup({
contentType: "application/json; charset=utf-8"});這有效但影響我擁有的每一個$ .get和$ .post并導(dǎo)致一些破壞。那么有什么方法可以改變$ .post()的行為來發(fā)送contentType = application / json?
3 回答

斯蒂芬大帝
TA貢獻1827條經(jīng)驗 獲得超8個贊
我想你可能不得不這樣做
1.修改源代碼以使$ .post始終使用JSON數(shù)據(jù)類型,因為它實際上只是預(yù)配置$.ajax
調(diào)用的快捷方式
要么
2. 定義您自己的實用程序功能,它是$.ajax
您要使用的配置的快捷方式
要么
3.你可以$.post function
通過猴子補丁覆蓋你自己的實現(xiàn)。
示例中的JSON數(shù)據(jù)類型是指從服務(wù)器返回的數(shù)據(jù)類型,而不是發(fā)送到服務(wù)器的格式。

繁花如伊
TA貢獻2012條經(jīng)驗 獲得超12個贊
$.ajax({ url:url, type:"POST", data:data, contentType:"application/json; charset=utf-8", dataType:"json", success: function(){ ... }})
請參閱:jQuery.ajax()

ITMISS
TA貢獻1871條經(jīng)驗 獲得超8個贊
最后我找到了適合我的解決方案:
jQuery.ajax ({ url: myurl, type: "POST", data: JSON.stringify({data:"test"}), dataType: "json", contentType: "application/json; charset=utf-8", success: function(){ // }});
添加回答
舉報
0/150
提交
取消