跨域

  1. JSONP:
  • 原理:动态生成一个script标签(不存在同源策略),在src属性设置要访问的url,并且加上callback函数,添加到html文档中,当资源加载后,支持jsonp的服务器会解析请求的url,提取callback参数中的值,会动态的生成执行这个回掉函数的语句,并且把返回的数据当作是该函数的参数传递进去,在Windows上挂载中定义好的回调函数就会调用,于是就获得了数据
  • 缺陷:只能获取不同源中的 数据,无法提交数据或者修改数据;无法检测请求是否失效;存在安全隐患,当所请求的服务器中执行回调函数的语句中添加了一些恶意代码,也会被执行
  • 优点:兼容性好
    function callback(res) {console.log(res)}
  1. CROS:
  • 原理:
  • 缺陷:ie10低下不支持;

refered:在请求头中,表明请求的来源自哪里
作用:

  1. 判断是否是正确的请求域名,如果是就继续访问,不是拦截(防盗链)

host:请求的服务器域名