跨域
跨域出现的原因是因为:同源策略
同源策略:(缺一不可)
- 域名
- 端口
- 协议
如果不满足以上三个条件的任何一个 那么则构成跨域 违反同源策略
解决跨域的常用方式:
-
jsop
html中的script src属性获取其他源的数据
<script> function getData(){ console.log(res) } <script src="http://www.baidu.com/news?callback=getData"></script> </script>
-
cors跨域资源共享 支持所有的主流浏览器 ie9
XMLHttpResquest发送请求的时候,如果不同源:headers后台处理 : Access-control-allow-origin: *
-
h5 window.postMessage跨域 主流浏览器 ie8
注意:vue中跨域 使用: 代理proxy 本质上 cors跨域
```js
//vue.config.js
proxy:{
target:
changeOrigin:
pathRewrite:
}
```
例如若依:
```
devServer: {
host: '0.0.0.0',
port: port,
open: true,
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
target: `http://localhost:8080`, // 本地服务
// target: `http://8.142.73.31:8199`, // 远程后端服务
// target: `https://kjzc.legutech.com/dev-api`, // 远程域名访问
changeOrigin: true,
pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: ''
}
}
},
```
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理