ajax跨域jsonp並且post請求No 'Access-Control-Allow-Origin'以及執行error時readyState=4同時status=200的解決方法
【網上很多網友的回復真是差點讓我笑暈】:什么確保后台返回嚴格的json格式?你這是在質疑后台程序員不懂json么,純屬扯淡
【在進行跨域前,你不得不需要知道的東西】:用ajax進行跨域請求,很多人就知道jsonp,然而很多人根本就不知道使用ajax跨域同時使用jsonp只能支持get方式請求,如果你進行post請求會執行error,並且返回readyState=4同時status=200
【親自完美解決方案】:
(客戶端代碼):客戶端也就是你本地端(例如html文件或者app)
$.ajax({
url:"你的請求地址",
data:你的數據,
dataType:'json', //【這里要小心啊,不要用jsonp,一定是json】
type:'post',
crossDomain: true, //【這個很重要,一定要加】
success:function(result){
console.log(result);
},
error:function(result){
console.log(result);
}
});
(服務器端代碼):就是后台語言端(這里我以php為例)
在你執行所有操作之前加上它,使用的框架的建議放在框架的入口文件的最前面
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST');
header('Access-Control-Max-Age: 1000');
馬上試試吧!絕對讓你驚喜的,
大神級別php后台開發官方群(技術角交流互動):188386255