Web应用axios.delete请求返回401错误,Postman正常请求求助
调试401未授权错误的建议
确认前端发送的token准确性
- 在代码中打印
this.token,对比Chrome本地存储中的值,确保完全一致,重点检查Bearer后面的空格是否存在、token有没有截断或拼写错误。 - 打开Chrome开发者工具的Network面板,找到失败的DELETE请求,查看Request Headers中的
Authorization字段,确认和Postman中使用的完全相同,包括大小写、字符完整性。
- 在代码中打印
清理无效请求头
- 第一种请求中添加的
Access-Control-Allow-Origin是服务器响应头,前端无需在请求中设置,删除该字段后重新测试,避免干扰请求头解析。
- 第一种请求中添加的
检查请求方式与Content-Type匹配
- 第二种用
FormData模拟DELETE的方式,axios会自动设置Content-Type为multipart/form-data,对比Postman请求的Content-Type,如果后端只接受application/json,可以尝试将请求体改为JSON格式,或者确认后端是否支持处理multipart/form-data类型的DELETE请求。
- 第二种用
验证请求路径正确性
- 检查
../api/cards/${id}的相对路径是否解析正确,在Network面板查看完整的Request URL,确保和Postman中使用的http://localhost:8000/api/cards/21完全一致,避免因路由层级问题请求到错误端点。
- 检查
排查跨域与凭证配置
- 如果后端依赖cookie进行验证(如Laravel Sanctum),需在axios中开启
withCredentials:
Postman默认会自动处理cookie,而前端需要手动配置该选项。axios.defaults.withCredentials = true;
- 如果后端依赖cookie进行验证(如Laravel Sanctum),需在axios中开启
查看后端日志定位原因
- 查看后端的错误日志(如Laravel的
storage/logs/laravel.log),日志中会记录401的具体原因,比如token过期、签名无效、权限不足等,这是最直接的问题定位方式。
- 查看后端的错误日志(如Laravel的
确认token存储与获取逻辑
- 检查
this.token的获取逻辑,确保是从本地存储正确读取(如localStorage.getItem('token')),避免获取到null或过期的旧token;如果使用状态管理工具,确认状态中的token是最新值,未被意外重置。
- 检查
内容的提问来源于stack exchange,提问作者M.Koops
相关产品推荐
相关产品推荐

