什么是跨域
一般来说,当一个请求url的协议、域名、端口三者之间任意一个与当前页面地址不同即为跨域。最常见的就是在一个域名下的网页中,调用另一个域名中的资源。
当浏览器报这样的错的时候,就是跨域请求出问题了
为啥要跨域
主要是为了安全,浏览器采用同源策略,对js进行限制,防止恶意用户获取非法数据,同时还防止了大部分XSS攻击(就是向用户界面注入js脚本)。
如何解决跨域问题
1.JSONP
像img、script等标签是没有跨域限制的,于是乎程序猿们就想到一个办法,动态创建script标签,通过src属性来进行跨域请求的来源
function fun(data) {
console.log(data);
};
var body = document.getElementsByTagName('body')[0];
var script = document.gerElement('script');
script.type = 'text/javasctipt';
script.src = 'http://example.com?jsonp=cb';
body.appendChild(script);