您的位置:首页 > Web前端 > JavaScript

ajax跨域jsonp并且post请求No 'Access-Control-Allow-Origin'以及执行error时readyState=4同时status=200的解决方法

2017-05-16 22:40 946 查看
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,拒绝收费,免费专业正规完整开发视频教程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐