axios发送post请求正确,控制台不报错,但没有拿到正确数据???

问题

我们有时候会遇到明明url地址没有写错,请求方式也基本正确,但是在控制台中确没有打印出响应信息的情况。

此时,打开网络,我们会看到有两个一样的请求

我们发现其中一个的请求方法是OPTIONS,不是我们所发送的POST请求。

点开下面那一个会发现更不一样了。

原因

我们浏览器在发送POST请求的时候,会先发一次OPTIONS请求(也就是预检),此次请求服务器发送的是一个空的内容。

出现这种情况的可能原因:后端人员服务器没有放行第二次响应

如果你不是自己写的后端,那么你可以大胆放心的去找你的后端了。

ps:前提是你的请求参数没有发错哈。

这里还有另外一种情况,那就是你自己写node的时候。

axios默认提交使用的是application/json 格式。如果使用这种编码方式,那么传递到后台的将是序列化后的json字符串。如果此时后台采用的是对付application/x-www-form-urlencoded的方式将会产生问题。

解决办法

那此时我们就需要去修改一下后台的代码:

1.引用body-parse

body-parse是一个常用的 Node.js 中间件 ,用于解析 POST 请求中的请求体数据,可以帮助我们更好的解析来自客户端的表单数据、JSON数据等不同格式的请求体数据。

ini 复制代码
const bodyParse=require('body-parse')

2.在post接口函数使用

javascript 复制代码
app.post('/lanqiao/information',bodyParser.json(),(req,res) => {
    //处理函数的代码
})

完成上面两步之后,我们打开前端页面就可以在控制台看到我们所需要内容了。

相关推荐
FungLeo5 小时前
成为全栈·Node 后端篇·阅读量防刷:去重、冷却与计数写分离
node.js·读写分离·数据去重·接口防刷·成为全栈·数据冷却
脉动数据行情120 小时前
Node.js WebSocket 实现贵金属实时行情监听 伦敦金 / 伦敦银自动重连方案
websocket·node.js·vim
不老刘20 小时前
一行命令解决 Node.js 版本兼容问题:`--openssl-legacy-provider` 深度解析
node.js
万敏1 天前
Vue3 全栈实战:第一阶段复盘(第1-8周)
vue.js·node.js·全栈
濮水大叔2 天前
舒服了,CabloyJS 的 AI Spec 驱动开发会自动生成甘特图和燃尽图
typescript·node.js·vibecoding
FungLeo2 天前
成为全栈·Node 后端篇·部署上线:从本地起服到真正对外服务
node.js·后端部署·成为全栈
妙码生花2 天前
golang 应用服务端部署(使用 systemd 服务)
开发语言·人工智能·后端·golang·node.js·php·gin
柚稚姐姐2 天前
npm install pnpm -g npm error code EACCES npm error syscall symlink
前端·npm·node.js
FungLeo3 天前
成为全栈·Node 后端篇·容器化:给 Node 应用写一个像样的 Dockerfile
docker·node.js·dockerfile·成为全栈·后端服务容器·docker 容器
WeiXin_DZbishe3 天前
基于springboot大学生提问箱系统-计算机毕设【课程设计】72593
javascript·vue.js·spring boot·vscode·python·node.js·php