11
回答
第三方网页如何向nodejs服务器发送http消息或是post消息?
【腾讯云】校园拼团福利,1核2G服务器10元/月!>>>   
如题!
举报
aoaola
发帖于4年前 11回/847阅
共有11个答案 最后回答: 4年前

为什么我测试可以呀!  是不是位置问题?
app.use(express.json());
app.use(express.bodyParser());
app.use(express.urlencoded());

===========

Express server listening on port 3000
HERE!!!!!
{ groupName: 'new1', groupType: '1' }
groupName:new1
groupType:1

引用来自“卜祥龙”的评论

网页发这个不行吧,必须同一个域名和端口哦

第三方网页的代码是:
<form action="http:localhost:3000/post" method="post">
<input type='text' name='groupName' value='new1'/>
<input type='text' name='groupType' value='1'/>
<input type='submit' value='go'/>
</form>
nodejs服务端接收代码:
app.post('/post',function(req, res){
console.log('HERE!!!!!');
console.log(req.body);
console.log('groupName:'+req.body.groupName);
console.log('groupType:'+req.body.groupType);
});
问题是:命令好输出了”here!!!“,但显示req.body是undefine,这是什么原因?

应该是它的数据栈没有req.body这项,只有req.body.groupName 和req.body.groupType两项

req.body引用时访问不到就显示undefine

引用来自“0x0001”的评论

用的express吗?需要使用中间件app.use(express.bodyParser());  才会解析body

已经使用了bodyparse中间件,get请求的数据能接收到,但是post的接收不到

引用来自“xuchengzone”的评论

为什么我测试可以呀!  是不是位置问题?
app.use(express.json());
app.use(express.bodyParser());
app.use(express.urlencoded());

===========

Express server listening on port 3000
HERE!!!!!
{ groupName: 'new1', groupType: '1' }
groupName:new1
groupType:1

果然是位置问题!谢!

顶部