JS怎样解决跨域请求问题?

2019-03-14  本文已影响0人  Gino_Li

跨域请求是什么?

浏览器出于安全考虑,推出一个同源政策的安全限制,即同协议同域名同端口。
只要协议,域名或端口其中一个不同,就是跨域请求。

怎么解决跨域请求?

方法一:JSONP(限制较大)
1)动态添加script标签
2)给script标签添加src属性,值为需要请求的地址
3)将script标签添加到HTML结构里面
4)定义请求地址的回调函数,回调函数第一个参数就是后台返回给我们的数据

            function getData(Id){
                //jsonp
                var _script = document.createElement('script');
                _script.src = "https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd="+Id+"&cb=callback";
                document.body.appendChild(_script);
            }
            
            function callback(res){
                console.log(res);//{q: "a", p: false, s: Array(9)}(请求到的数据)
            }

方法二:插件
使用插件Allow-Control-Allow-Origin

终极方法:
需要后台设置Access-Control-Allow-Origin的值为*,或者是localhost:8080;

上一篇下一篇

猜你喜欢

热点阅读