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

跨域请求是什么?

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

怎么解决跨域请求?

方法一: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;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。