什么是跨域?
A页面访问B页面的资源,如果A,B页面的域名、端口、协议、IP其中一个不同,这种行为都叫跨域;
它是由于浏览器的同源策略形成的,也是对javascript的安全限制;
什么是同源?
就是协议、IP、域名、端口都相同;
如何解决?
1:服务器正向代理:
通过服务器去查询B页面的信息,再把信息返回给A页面;
2:jsonp;什么是jsonp?可以让网页在其它域名获取资源;
使用方法:页面script方式访问目标资源;通过jsonpcallback这个方法返回获取的内容,(这种方式只支持get请求);
<script type="text/javascript">
function callbackFunction(result,methodName) {
console.log(result,methodName,'mm')
}
</script>
<script type="text/javascript" src="http://www.runoob.com/try/ajax/jsonp.php?jsoncallback=callbackFunction"></script>
3:jquery跨域
$.getJSON("http://www.runoob.com/try/ajax/jsonp.php?jsoncallback=?", function(data) {
console.log(data)
});