使用 vue 框架,刷新界面的时候请求 401,不知道啥原因

2022-02-19 12:53:19 +08:00
 dtgxx
vue 的框架,不知道问题出在哪里。。
我点击左侧的 sidebar ,在界面内进行跳转 https://xxx/a/b 是没有任何问题的,F12 提示的也是发送请求 a/b 路由下要请求的 js 地址 c/d
但是我在 a/b 的界面手动刷新,或者手动直接粘贴 https://xxx/a/b 的时候,就提示 401 了,原因是 F12 里面请求的地址不是 c/d 了,而是我手动输入的 a/b ,其他的界面这样手动刷新访问都没问题,大佬们帮忙想想可能是啥原因呢?


我理解的比如在 url 访问路由,vue 会找到 xxx.vue 来通过 js 请求相应的地址,但是我访问 a/b 这个路由的时候,压根就没进到 a/b 的 xxx.vue ,而是直接去 get 请求 a/b 了,不知道为什么。。
2122 次点击
所在节点    Vue.js
7 条回复
lybcyd
2022-02-19 13:06:35 +08:00
Asyncway
2022-02-19 13:11:46 +08:00
看下打包后的 js 文件引用路径是否为相对路径,然后配置一下<base />
IvanLi127
2022-02-19 13:57:02 +08:00
op 你这是有损描述呐,我猜是 web 服务器没正确地把 index.html 吐给 https://xxx/a/b 。看下规则是不是漏掉了这个路径或者是被其他规则覆盖掉了。
dtgxx
2022-02-20 01:21:44 +08:00
@lybcyd @Asyncway @IvanLi127 感谢各位,还是不行,都不是以上的情况,我在 APP.vue 里面通过 beforeCreate 打印 log 也无法输出,这个感觉就好像,完全没走后端,直接就报 GET http://localhost:8101/a/b 401 (Unauthorized). 其他页面都不会这样,完全一样的写法,不知道为啥了。。
dtgxx
2022-02-20 01:22:23 +08:00
@lybcyd @Asyncway @IvanLi127 完全没走前端代码,打错了
IvanLi127
2022-02-20 12:32:41 +08:00
@dtgxx 没走正常,一楼和我三楼的回复就是表示你的请求没办法响应前端的 index.html 文件,所以不可能执行得到前端代码。。。不出意外的话,这不是前端问题。
dtgxx
2022-02-20 17:50:07 +08:00
@IvanLi127 谢谢,确实是“请求没办法响应前端的 index.html 文件”这个原因造成的,我研究了一下,发现 a/b 的这个请求始终请求的是后端,而不是前端 html ,仔细找了下,发现因为 url 带有前端配置的 proxy 代理字符串 b ,所以把带 b 的所有请求都转发到后端了,所以前端没拿到,破案了,破案了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/835001

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX