chrome瀏覽器中的傳送資料如上圖,注意最後那個冒號,冒號前面是key,後面value是空的。
我的發送代碼如下:
$scope.loginJump = function(info){
$http({
url:'http://192.168.1.54:8080/retailer/user/auth',
method:"POST",
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
data: {
userName: info.staffID,
userPass: info.password,
checkCode: info.security
},
success: function(data){
alert(data);
},
error: function(err){
alert(err);
}
});
};
漂亮男人2017-05-15 16:53:56
直接放在data裡會把參數以json的形式直接放在body發出去,而你的headers裡面又設定成了content-type是application/x-www-form-urlencoded,所以就會被認為是formdata ,但其實整個都當一個key了。
當然直接用json把資料post上去其實就沒問題了,如果你一定要post form data的話,應該要自己拼出來或是用jquery的$.param之類的方法來做。