携带Token发送POST请求失败:Postman正常但Axios代码异常求助
问题原因与修复方案
核心错误:Axios
post方法的参数顺序使用错误
Axios.post的正确参数结构是axios.post(url[, data[, config]]),你把包含headers的配置对象放在了第二个参数(请求体数据的位置),导致后端无法正确识别Authorization请求头,反而把headers当成了请求体数据接收。修正后的代码:
const sendDataTab1 = async (e) => { const token = "eyJ0eXAiOiJKV1QiL" try { const api = `/api/v1/test/add` // 无请求体数据时,第二个参数传空对象,第三个放配置项 await axios.post(api, {}, { headers: {"Authorization" : `Bearer ${token}`} }); console.log("hihihi"); } catch (e) { toast.error(e.response.data.error, { autoClose: 15000 }); console.log(e); } };
- 补充说明:
如果POST请求需要发送请求体数据,将数据放在第二个参数位置即可,示例:
await axios.post(api, { name: "test", content: "demo" }, { headers: {"Authorization" : `Bearer ${token}`} });
内容的提问来源于stack exchange,提问作者Ariana
相关产品推荐
相关产品推荐

