什么是跨域?
当一个请求url的协议、域名、端名三者之间任意一个与当前页面url不同即为跨域。
为什么会出现跨域问题?
出于浏览器的同源策略限制。同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。 同源策略会阻止一个域的javascript脚本和另一个域的内容进行交互。 同源(即指在同一个域)就是两个页面具有相同的协议,主机,和端口号。
跨域解决方案
CORS
一套机制,用于浏览器校验跨域请求。只要服务器明确表示允许,则校验通过服务器明确拒绝或没有表示,则校验不通过。 CORS将请求分为两大类,简单请求和预检请求。
简单请求:
请求方式: GET、HEAD、POST
头部字段满足CORS安全规范
请求头中Content-Type: text/plain multipart/form-data application/x-www-form-urlencoded
JSONP
准备一个回调函数,服务器响应后会运行该函数并传递响应数据给参数生成一个
<script scr="XXXXX">
JSONP发送不了post请求