基于Vue的网页项目输验证码登录时在Chrome下报错500而Firefox没有任何问题

具体情况

一个Vue项目,在登录页面点击登录按钮没有反应,点开F12控制台发现请求的接口报500错误,此时用的是Chrome浏览器,而当我转到Firefox浏览器的时候再次尝试登录发现,一切正常

原因分析:

不能理解为什么Firefox没有问题,但我认为可能是因为跨域出现了问题,起初我的想法是:会不会因为谷歌对于cookie的要求很严格,我必须设置SameSite=None,但是后来发现不需要,只要更改vue项目里的request.js和vue.config.js即可

解决方案:

在request.js中有一段代码如下:

const service = axios.create({
//  baseURL: 'http://xxx.xxxxx.xxx'
  baseURL: '/api',
  withCredentials: true,
  timeout: 60000
})

将其中的baseURL:'http://xxx.xxxxx.xxx'更改为baseURL:'/api'

而在vue.config.js中有一段代码如下:

proxy: {
      	'/api': {
        	// target: 'http://localhost:8088',
        	target: 'https://xxx.xxxxx.xxx',
        	changeOrigin: true,
        	pathRewrite: {
          		'^/api': ''
        	},
      	},

将其中的target:'xxx'改成服务器的地址target:'https://xxx.xxxxx.xxx'

同时不要忽视了pathRewrite,如果你js的request请求中的url是’/login’,那么request.js就会把他改成'/api/login',而vue.config.js会继续改成'https://xxx.xxxxx.xxx/login',所以当你写的是'^/api': '/'时。最终会被改写成'https://xxx.xxxxx.xxx//login',这样可能会出现报错,注意下。

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值