React中Axios PUT请求报401(Unauthorized)错误求助
解决Axios PUT请求401未授权错误(GET请求正常)
核心问题原因
你把请求头(headers)错误地放在了请求体参数里。Axios的put方法签名是axios.put(url, data, config),其中请求头属于第三个参数config的一部分,而非第二个参数data(请求体)的属性。这直接导致你的Authorization Token没有被正确发送到后端,因此返回401未授权错误。
修正后的代码
axios .put("/api/v1/Profile", // 请求体数据 { fullName: userName, gender: Number(userGender), phoneNumber: userNumber, }, // 配置项:包含请求头 { headers: { Accept: 'application/json', "Content-Type": "application/json; charset=UTF-8", Authorization: `Token ${userToken}`, }, } ) .then((response) => { console.log(response); }) .catch((error) => { console.log(error); });
额外排查建议
- 打印
userToken变量确认值是否正确,排除Token为空、过期或格式错误的可能 - 打开浏览器开发者工具的Network面板,查看PUT请求的实际请求头,确认
Authorization字段是否已正确携带 - 若问题仍存在,检查后端是否对PUT请求有特殊权限校验规则(比如额外的校验逻辑,但Postman能正常运行的话概率较低)
内容的提问来源于stack exchange,提问作者sina mohsenian
相关产品推荐
相关产品推荐

