欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

后端接收不到AngularJs中$http.post發(fā)送的數(shù)據(jù)原因分析及解決辦法

 更新時(shí)間:2016年07月05日 09:08:19   作者:Mr靖  
這篇文章主要介紹了后端接收不到AngularJs中$http.post發(fā)送的數(shù)據(jù)原因分析及解決辦法的相關(guān)資料,需要的朋友可以參考下

1.問題:

后端接收不到AngularJs中$http.post發(fā)送的數(shù)據(jù),總是顯示為null

示例代碼:

$http.post(/admin/KeyValue/GetListByPage,
{ 
pageindex: 1,
pagesize: 8
})
  .success(function(){ 
  alert("Mr靖");
  });

代碼沒有錯(cuò),但是在后臺(tái)卻接收不到數(shù)據(jù),這是為什么呢?

用火狐監(jiān)控:參數(shù)是JSON格式

用谷歌監(jiān)控:傳參方式是request payload

  可以發(fā)現(xiàn)傳參方式是request payload,參數(shù)格式是json,而并非用的是form傳參,所以在后臺(tái)用接收form數(shù)據(jù)的方式接收參數(shù)就接收不到了

  POST表單請(qǐng)求提交時(shí),使用的Content-Type是application/x-www-form-urlencoded,而使用原生AJAX的POST請(qǐng)求如果不指
定請(qǐng)求頭RequestHeader,默認(rèn)使用的Content-Type是text/plain;charset=UTF-8,而此處的Content-Type是:

--------------------------------------------------------------------------------

2.解決方法:

直接上代碼:

//要通過post傳遞的參數(shù)
var data = {
pageindex: 1,
pagesize: 8,
},
//post請(qǐng)求的地址
url = "/admin/KeyValue/GetListByPage",
//將參數(shù)傳遞的方式改成form
postCfg = {
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
transformRequest: function (data) {
return $.param(data);
}
};
//發(fā)送post請(qǐng)求,獲取數(shù)據(jù)
$http.post(url, data, postCfg)
.success(function (response) {
alert("Mr靖");
}); 

接下來再看監(jiān)視工具:

火狐監(jiān)視:參數(shù)類型已經(jīng)變成表單數(shù)據(jù)

谷歌監(jiān)視:

現(xiàn)在傳參方式就變成form方式了,然后后端就可以正常接收參數(shù)了!

以上所述是小編給大家介紹的后端接收不到AngularJs中$http.post發(fā)送的數(shù)據(jù)原因分析及解決辦法的相關(guān)知識(shí),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論