① CORS(主流解决方案,推荐)
② JSONP(只支持GET请求)
使用CORS中间件
①安装中间件
npm i cors
② 导入中间件
const cors=require('cors')
③ 在路由之前 调用
app.use(cors())
//切记 cors后面有括号
注意事项
① CORS主要在服务器端进行配置,客户端浏览器无须做任何额外的配置,即可开启CORS的接口
② CORS在浏览器中有兼容性,只有支持XMLHttpRequestL2才能正常访问开启了CORS服务端接口(IE10及其以上,Chrom4以上,FiveFox3.5以上)
CORS响应头部
Access-Control-Allow-Origin:<origin>/* (origin是指定的域名或*全部)
Access-Control-Allow-Headers
默认情况下,CORS仅仅支持如下的9个请求头
Accpet,Accept-Language,Content-Language,DPR,Downlink,Save-Data,Viewport-Width,Width,Content-Type(值仅限text/plain,multipart/from-data,application/x-www-form-urlencoded 三者之一)
如果客户端向服务器发送额外的请求头信息,则需要在服务器,通过Access-Control-Allow-Headers
对额外的请求头i进行声明,否则这次请求会失败,Access-Control-Allow-Headers:Content-Type,X-Custom-Header
Access-Control-Allow-Methods
默认情况下,CORS仅支持客户端发起的GET POST HEAD 请求,其他的得声明
Access-Control-Allow-Methods:POST,GET,.DELETE,HEAD
Access-Control-Allow-Methods:*
【博学谷学习记录】超强总结,用心分享