CNode

利用Vue+Nodejs的express遇到一些无法识别req.body的问题

问答
11261407209LHH发布于9 年前最后回复9 年前10 回复7059 浏览0 收藏

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)

Y
yyss8#1·9 年前

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

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

K
KevinZoro#3·9 年前

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

V
vincentLiuxiang#4·9 年前

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

1
1261407209LHH#6·9 年前
引用 KevinZoro应该在app.use(bodyParser)那两行的后面吧

@KevinZoro 已经解决啦,谢谢

1
1261407209LHH#7·9 年前
引用 jamiesoung__legacy_586dd0e78de1450777c640a9在Vue.use(VueResource);后面添加Vue.http.options.emulateJSON = true;。

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

H
Huyaguang#10·9 年前

app.use(bodyParser.json());

参与回复
登录后即可参与回复。登录