跨域AJAX解决方案

由于浏览器存在同源策略机制,同源策略阻止从一个源加载的文档或脚本获取或设置另一个源加载的文档的属性。

同源策略的判定规则:

如果两个页面拥有相同的协议,端口,和主机,那么这两个页面就属于同一个源;

图示例:


跨域AJAX解决方案_第1张图片
同源策略判定.png

特别的:由于同源策略是浏览器的限制,所以请求的发送和响应是可以进行,只不过浏览器不接受罢了。

浏览器同源策略并不是对所有的请求均制约:

  1. 制约: XmlHttpRequest
  2. 无效: img、iframe、script等具有src属性的标签

两种实现跨域请求的方式,JSONP和CORS

对比:
Jsonp只支持 GET 请求,CORS支持所有类型的HTTP请求。
Jsonp 的优势在于支持老式浏览器,以及可以向不支持CORS的网站请求数据。

(1) JSON-P实现跨域请求

利用script标签的src属性(浏览器允许script标签跨域)。

基本原理:

  1. 浏览器创建script标签,并利用script标签的src属性发送跨域请求,获取服务器的返回值在

你可能感兴趣的:(跨域AJAX解决方案)