解决前端跨域的几种方法

解决前端跨域的几种方法 了解跨域出现的原因

解决跨域的几种方法

想要解决跨域 先要知道为什么会出现跨域

跨域:指的是浏览器不能执行其他网站的脚本 它是由浏览器的同源策略造成的 是浏览器对javascript添加的安全限制 同源策略是一种约定 是浏览器核心的安全功能

同源策略会造成以下的影响

  • Cookie、LocalStorage 和 IndexDB 无法读取

  • DOM 和 JS 对象无法获取

  • Ajax请求发送不出去

是否同源主要看一下三个方面:

  • 协议是否相同(http https file)
  • 主机地址是否相同(www.xxx.com 127.0.0.1)
  • 端口(0~65535)(http 默认端口是 80;https 默认端口是 443;MySQL 默认端口 3306)

如果两个 url 的协议、主机地址、端口都相同,那么这两个 url 是同源的,否则就是非同源。

解决前端跨域的几种方法_第1张图片

解决跨域的方案主要有以下几种

JSONP

是程序员被迫想出来的解决跨域的方案。

JSONP 方案和 Ajax 没有任何关系

JSONP 方案只支持 GET 请求 不支持post请求

JSONP 没有浏览器兼容问题,任何浏览器都支持。

核心思想:网页通过添加一个

你可能感兴趣的:(javascript,vue,ajax,html5,vue.js)