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
php自学者论坛
,各自专业php自学视频免费下载www.phper.video,拒绝收费,免费专业正规完整开发视频教程
版权声明:本文为df981011512原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。