Axios POST请求异常:请求URL末尾自动追加奇怪字符串问题
问题原因与解决方案
异常点1:URL末尾的%E2%80%8B字符
原因
该字符串是Unicode零宽空格的URL编码格式,属于不可见控制字符,通常是你从网页、文档、聊天窗口等富文本场景复制粘贴URL时意外带入,在代码编辑器中肉眼无法识别,但实际属于URL字符串的一部分,发起请求时被自动编码就会出现该后缀。
解决方法
- 完全删除代码中硬编码的URL字符串,手动逐字输入完整请求地址,不要使用复制粘贴操作
- 可以将URL字符串复制到浏览器控制台执行
"你的URL字符串".length,对比输出的长度和肉眼可见的字符数量是否一致,如果长度偏大就说明存在隐藏字符,需要重新输入
异常点2:路径中的Inbound被替换为Outbound
原因
你代码中硬编码的路径为Inbound,实际请求路径被修改,唯一可能是请求发起前被全局配置规则重写了,常见场景包括:
- Axios全局请求拦截器中配置了URL替换逻辑,匹配到Inbound关键词后替换为Outbound
- 项目开发环境的代理配置(如vue.config.js/vite.config.js中的proxy配置)设置了路径重写规则
解决方法
- 全局搜索项目中所有
axios.interceptors.request.use相关代码,检查是否存在修改config.url的逻辑,删除针对Inbound路径的替换规则 - 检查项目配置文件中的代理规则,确认是否存在
/api/Inbound相关的路径重写配置 - 可在当前请求代码前打印URL确认初始值,同时在全局请求拦截器中打印
config.url,定位路径被修改的具体阶段
内容的提问来源于stack exchange,提问作者Nate
相关产品推荐
相关产品推荐

