Vue开发跨域问题

问题1:

  • 在开发时由于前后端服务器不一致,涉及到了跨域
    解决方式:
  • 碰到这种事情第一反应是使用chrome上的解决跨域的扩展程序,,,但是仍旧未能获取到数据,,,,然后我以为是扩展程序出错了,就让服务器端将我的IP地址设置为允许获取数据

问题2:

  • 仍旧未曾获取到数据(但是不会报跨域错误),通过跟服务器端交流得知,需要在请求头携带cookie才能获取到数据,,,于是我便设置了axios.defaults.withCredentials= true,但是设置了之后,控制台又开始报跨域错误
    解决方式
  • 使用proxy
//vue.config.js
module.exports = {
 publicPath: "./",//配置打包之后的相对路径
 devServer: {
   proxy: {
     "/api": {
       target: "http://1.1.1.1:0000",//这是你服务器端的baseUrl
       ws: true,
       changeOrigin: true,
       pathRewrite: {
         "^/api": "/"
       }
     }
   }
 }
  • 然后使用/api/代替你原本的服务器端的baseUrl

问题3:

  • 通过这种方式可以获取到数据了,但是我发现有些接口能够获取到数据,有些接口报404错误(这个坑超级深)
    解决方式:
  • get请求的数据传输字符串连接时这样
    /api/url/?name=aaa&value=111写,,,,我之前这样/api/url?name=aaa&value=111写的,,,是的,,没错,就是少写了一个/

总结:

  • 其实如果请求头不需要携带cookie的话,可以直接使用chrome应用商店的扩展程序CORS,就不用进行其他的配置了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值