1. 跨域是什么
- 跨域是
浏览器
为了安全而做出的限制策略 - 浏览器请求必须遵循同源策略:同域名、同端口、同协议
2. 常见的前端跨域解决方案
- CORS跨域
- JSONP跨域
- 代理跨域
4. CORS(Cross-origin resource sharing:跨域资源共享)跨域
- 服务端设置,前端直接调用
- 后台允许前端某个站点进行访问
- 三个与CORS有关的请求头字段,Access-Control-Allow-Origin(必须):接受的域名,Access-Control-Allow-Credentials(可选):是否允许发送Cookie,Access-Control-Expose-Headers(可选):CORS请求时,XMLHttpRequest对象的getResponseHeader()方法只能拿到6个基本字段:Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma。如果想拿到其他字段,就必须在Access-Control-Expose-Headers里面指定
5. JSONP跨域
需要前后端共同配合
npm i jsonp -S
import jsonp from "jsonp";
let url = "https://www.xxx.com?callback=func";
jsonp(url, (err, res) => {
console.log(res);
})
6. 接口代理跨域
vue.config.js
module.exports = {
devServer: {
host: "localhost",
port: 8080,
proxy: {
'/api': {
target: 'https://www.xxx.com',
changeOrigin: true,
pathRewrite: {
'/test': '/test'
}
}
}
}
}
// 访问http://localhost:8080/api/test会被代理到https://www.xxx.com/api/test
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!