跨域请求是什么?
浏览器出于安全考虑,推出一个同源政策的安全限制,即同协议同域名同端口。
只要协议,域名或端口其中一个不同,就是跨域请求。
怎么解决跨域请求?
方法一: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;
网友评论