React.js中Axios POST请求遇Network Error,Postman可正常请求
解决React Axios POST请求Network Error问题(Postman可正常运行)
针对Postman请求正常但React中Axios报错Network Error的情况,结合无服务器权限的限制,可按以下步骤排查修复:
1. 核对请求头大小写与Postman完全一致
部分服务器对自定义请求头的大小写敏感,Postman中通过Authorization选项添加的Api-key,实际发送的头名可能和你代码里的'Api-key'有差异(比如'api-key'或'API-Key')。
- 打开Postman的Headers标签,查看实际发送的
Api-key头的准确大小写 - 修改Axios代码中的头名,确保完全匹配:
headers: { 'api-key': '你的实际密钥', // 替换为Postman里的准确头名 'Content-Type': 'application/json', }
2. 禁用withCredentials尝试
你当前开启了withCredentials: true,但Postman默认不会发送浏览器凭证(Cookie等),若服务器未配置允许携带凭证,会触发跨域错误。尝试关闭该选项:
axios.post("你的请求URL", { data: "" }, { // withCredentials: true, 注释或设为false headers: { 'Api-key': '你的密钥', 'Content-Type': 'application/json', }, } )
3. 确保请求体结构与Postman完全匹配
检查Postman的请求体内容:
- 如果Postman中发送的是纯字符串
""而非{ "data": "" },则Axios的请求体需调整:
axios.post("你的请求URL", "", // 直接传字符串,而非对象 { headers: { 'Api-key': '你的密钥', 'Content-Type': 'application/json', }, } )
4. 简化Axios配置,排查冗余设置
尝试去掉手动设置的Content-Type,让Axios自动推断(Postman可能也未手动设置该头):
axios.post("你的请求URL", { data: "" }, { headers: { 'Api-key': '你的密钥', // 移除Content-Type配置 }, } )
5. 检查Network面板的具体错误信息
打开浏览器DevTools的Network面板,找到失败的请求:
- 查看请求的Status和Response,如果是4xx/5xx错误,说明请求已到达服务器,是业务逻辑错误而非Network Error
- 如果是OPTIONS预检请求失败,说明存在CORS限制,由于无服务器权限,可尝试联系后端确认是否允许前端域名访问,或检查是否有其他合法的请求方式规避
内容的提问来源于stack exchange,提问作者Sharanjeet Singh
相关产品推荐
相关产品推荐

