简单的实现Ajax跨域请求

Ajax跨域到底是什么意思?

Ajax请求一个目标地址为非本域(协议、域名、端口任意一个不同)的web资源,并根据响应获得外部应用数据。比如我们用Ajax访问城市天气预报、IP地址等公共服务接口时,就涉及跨域了。我们请求一个外部服务时,浏览器会基于安全问题拒绝授权访问。而script、script、iframe标签的src属性就不存在跨域的问题,所以Ajax跨域就是利用这一点以及js对JSON的支持,外部服务只要给Ajax的请求响应一段JS代码或JSON数据,就能被Ajax获取到。


那什么引起了ajax跨域不能的问题?
ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告。


还要理解一个词汇:同源策略

同源策略:对数据访问的限制


同源策略(Same origin policy)它是由Netscape提出的一个著名的安全策略,是一种约定。

所谓同源是指,域名,协议,端口相同。


同源策略限制必须是相同域名、协议和端口下才能进行数据的访问。


它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。


利用jQuery可以很方便的实现JSONP来进行跨域访问。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章