同源政策
浏览器有同源政策,不同源的客户端脚本未经授权,不能读写对方的资源。这个政策是为了保护用户的安全,如符合下面三种情况则属于同源,可以正常读写
1.协议相同
2.域名相同
3.端口相同
跨域
有时候,合理的用途也会受到上面同源政策的限制,比如在你情我愿资源共享的时候。为了规避这些限制,采取一些措施,叫做跨域
解决方式:
- JSONP
- CORS
cors(cross origin resource sharing) ,ajax跨域解决方法。相比JSONP只能发GET请求,cors可以发任何类型的请求
jsonp
请求类型属于get
jsonp的含义和原生jsonp用法
JQ实现跨域:只需指定dataType:'jsonp'即可
<script type="text/javascript">
var url = 'localhost:1111';
$.ajax ({
url: url,
dataType: 'jsonp',
success: function (data) {
alert("身高: " + data.height + ", 体重: " + data.weight);
},
});
</script>