header contains multiple values ‘http://ip地址:8001, http://ip地址:8001‘, but only one is allowed.

在登录时,前端页面提示

Access to XMLHttpRequest at 'http://localhost:88/api/sys/menu/nav?t=1702039733302' from origin 'http://localhost:8001' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values 'http://localhost:8001, http://localhost:8001', but only one is allowed.

 解决这个问题按上面提示的看是'Access-Control-Allow-Origin'请求头有多个值,说明我的请求请求头重复。所以查询到一些解决方法是修改gateway网关过滤排除一下 请求头设置(参考:解决跨域origin重复问题(未使用nginx): Allow-Origin header contains multiple values... but only one is allowed_前端origin重复定义-CSDN博客

但是这个并没有解决我的问题。往下看错误说是

TypeError: Converting circular structure to JSON    --> starting at object with constructor 'Object'    --- property 'PubSub' closes the circle 请求菜单列表和权限失败,跳转至登录页!!

看到PubSub 我想到是不是我使用pubsub-js插件进行传值使用错误了,在请求时使用这个插件会造成多个请求头 Access-Control-Allow-Origin',进而才会造成

[vue-router] Duplicate named routes definition: 重复命名路由定义:

 所以查询一下pubsub-js插件的用法:

https://www.cnblogs.com/zhangzuying/p/15570748.html(main.js中全局导入pubsub-js)

pubsub.js介绍以及基本使用方法介绍-CSDN博客(import 引用)

我的使用方式如下图:(错误)

发现使用pubsub-js插件不需要写入components中,直接使用就可以。

改完之后成功登录。

记录一下此次问题,也希望能帮到你。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值