跨域

101 阅读1分钟

看到报错信息 有Access to XMLHttpRequest by CORS policy: No 'Access-Control-Allow-

Origin' 这些关键字 就代表是跨域错误

产生跨域的原因:

由浏览器的同源策略造成的

同域名,同端口,同协议(http 和 https)

跨域解决方案1:

CORS跨域资源共享,

服务端:header("Access-Control-Allow-Origin:*");

“*”表示所有的域都可以接受

跨域解决方案2:jsonp

动态创建script标签,使用jQuery的jsonp请求

优点:

兼容性强&不受同源策略的限制

缺点:

只能用get方法,不能使用post方法

使用jsonp解决跨域

 $.ajax({

            url:"http://192.168.1.2/a.php",

            type:"get",

            //定义发送jsonp请求

            dataType:'jsonp',

            //更改定义的参数名

            jsonp:'kyFn',//修改callback名称,但是php中也要修改成相对应的函数名

            //指定jsonp发送的回调函数名(可以任意起名字,无需对应)

            jsonpCallback:'callBack',

        });

        function callBack(res){

            document.write(res);

        }