今天使用mui.ajax給服務器發送post請求,結果後端用的php始終得不到前臺傳上來的數據(使用$_post[]獲取值),百度看了不知道多少種解決方案,這裏記錄一下我的解決方法。
首先看一下官方給的ajax:
mui.ajax(‘http://server-name/login.php‘,{
data:{
username:’username’,
password:’password’
},
dataType:’json’,//服務器返回json格式數據
type:’post’,//HTTP請求類型
timeout:10000,//超時時間設置爲10秒;
headers:{‘Content-Type’:’application/json’},
success:function(data){
//服務器返回響應,根據響應結果,分析是否登錄成功;
…
},
error:function(xhr,type,errorThrown){
//異常處理;
console.log(type);
}
});
如果是這樣去運行,得到的結果就是php的取值代碼 _post[]所取的值爲空。
後來纔到注意一點,php裏面的$_post[]的取值方法只能接收Content-Type: application/x-www-form-urlencoded提交的數據。即將
headers:{'Content-Type':'application/json'},
改爲下面的提交方式即可。
headers:{'Content-Type':'application/x-www-form-urlencoded'},
知道真相的我眼淚掉下來,還以爲是需要解決跨域問題啥的,結果就是一個忽略浪費自己3個小時,這裏特意寫出來與大家分享。希望大家能用更多的精力去做有意義的事,而不是被一個自己忽略的簡單的問題卡的頭皮發麻。。。