跨域请求

跨域请求是ajax请求的一种方式,通过在服务端或者浏览器端做一些处理避免同源策略,而一般ajax请求需要遵守同源策略。
同源策略是指:发送请求的页面的url和请求的url,这两个url的协议、域名、端口相同。

跨域请求有三种方式:

  1. jsonp
    由于script标签的src属性请求资源不受同源策略影响,并且请求的文件会自动执行。
    方法:仿照get请求的方式,将需要的信息作为参数,发给服务端处理,然后再发送给浏览器。
  2. cors 跨域资源共享 (ie10以上才支持)
    在后端向响应头中添加 access-control-allow-origin,当浏览器检测到跨域请求时,会在响应头中查看是否有setHeader('access-control-allow-origin',url),然后与请求信息对比跨域请求的url是否一致,只有参数2指定的url才能被跨域访问。
  3. 当页面中有iframe的情况,只有iframe内的页面域名和iframe外部页面的域名相同,外部的js才能操作iframe里面的页面。
    以下是代码是页面B中的内容