利用Vue+Nodejs的express遇到一些无法识别req.body的问题
发布于 7 年前 作者 1261407209LHH 6066 次浏览 来自 问答

1.利用Vue-resource进行post提交的代码页面 untitled1.png 2.请求代理转发 untitled2.png 3.nodejs后台入口文件 untitled3.png 4.userApi代码 untitled4.png 但是在访问http:localhost:8080/的时候能够正确渲染出vue文件,但是在提交表单数据的时候,userApi的req.body被打印出为undefined。 到底是哪里出错了??希望大家能帮帮忙。

10 回复

第一二张图好像是一样的 既然是有通过代理转发那有没有转发了post呢 以前在搞反向代理时候就遇到过只转发了get没有转发其他请求 所以post或者put啥的从来都是404

Vue.use(VueResource);后面添加Vue.http.options.emulateJSON = true;

app.use('/api/user',userApi);应该在app.use(bodyParser)那两行的后面吧

req.body是bodyParser这个中间件挂上去,bodyParser干的事情就是req.on(‘data’), 接收http协议报文实体的,你的app.use(’/api/user’,userApi) 挂在了bodyParser前面,req.body就为undefined了。

@vincentLiuxiang 是这样的问题,谢谢啦

@KevinZoro 已经解决啦,谢谢

@jamiesoung 添加Vue.options.emulateJSON不是不能支持json编码的时候用的么

@yyss8 代理转发了post

@1261407209LHH 默认的情况下,内容在payload里。

app.use(bodyParser.json());

回到顶部