express中怎么获得前端post过来的数据?
发现一个神奇的东西。
在vue项目中的dev-server.js中写了一个
var data_router = express.Router()
data_router.post('/register',function(req,res){
console.log('succeed register')
})
...
结果这个console.log()的结果返回到了我的编译器webstorm的底端栏里了,就像是python的print()一样,这是怎么做到的,为什么会显示在这里,好神奇
然后我想问就
data_router.post('/register',function(req,res){
//怎么在这里获得前端Post过来的数据?
})
就在回调函数里面怎么获得post过来的数据(注释位置↑)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
以下代码仅供参考啊。
req 代表客户端的 HTTP 请求,req 是一个流,用流的方式可以读取请求主体中的数据。
常见方式使用body-parser中间件
安装
npm install --save body-parser
使用
当然 也可以实现自己的post数据中间件
简化实现代码如下:
上述代码替换body-parser 即是自己的中间件
另外,你调试台打印的,出现webstorm中是因为webstorm有内置的命令行工具,你可以在这个工具里进行常规的命令行操作。
在
nodejs
中 有一个process
的全局变量 ,对应的有stdout
标准输出stdin
标准输入, 还有什么貌似是 错误输出stderr
, 这里的console.log
其实调用的是所以就在控制台打印了,和浏览器的那个有点差别.
第二个问题
在
express
中 大牛们已经帮我们封装的很好了,request,response,next 三个参数,req.body
就拿到了他实际接受到是个
buffer