详见 https://www.cnblogs.com/chopper/archive/2012/03/24/2403945.html
所有支持Javascript的浏览器都会使用同源策略这个安全策略
同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面当一个百度浏览器执行一个脚本的时候会检查这个脚本是属于哪个页面的,即检查是否同源,只有和百度同源的脚本才会被执行。
跨域的原理详解:
利用src(可以访问其他主机的资源) 和 回调函数(通过在远程服务上调用这个函数并且以JSON 数据形式作为参数传递,完成回调)
用jQuery的getJSON方法来实现,用$.getJSON(url,[data],[callback])方法:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$.getJSON("http://localhost:20002/MyService.ashx?query=?callback=?","data",function(data){
alert(data.name + " is a a" + data.sex);
});
</script>
用$.ajax方法来实现,以下没传参数:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$.ajax({
url:"http://localhost:20002/MyService.ashx?callback=?",
dataType:"jsonp",
jsonpCallback:"person",
success:function(data){
alert(data.name + " is a a" + data.sex);
}
});
</script>