跨域

跨域出现的原因是因为:同源策略

同源策略:(缺一不可)

  • 域名
  • 端口
  • 协议

如果不满足以上三个条件的任何一个 那么则构成跨域 违反同源策略

解决跨域的常用方式:

  1. jsop

    html中的script src属性获取其他源的数据

    <script>
        function getData(){
            console.log(res)
        }
        <script src="http://www.baidu.com/news?callback=getData"></script>
    </script>
    
  2. cors跨域资源共享 支持所有的主流浏览器 ie9
    XMLHttpResquest发送请求的时候,如果不同源:headers

    后台处理 : Access-control-allow-origin: *

  3. 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]: ''
        }
      }
},
``` 
posted @   雾气^^  阅读(30)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示
主题色彩