Javascript XHR Post请求在节点中不工作
我试图从客户端XMLHttpRequest向节点页面(都在同一个域中,localhost)发出一个简单的post请求。我正在使用npm模块“xhr”。虽然req.query对象为空,但仍检测到post请求 以下是我的客户端请求:Javascript XHR Post请求在节点中不工作,javascript,node.js,post,xmlhttprequest,Javascript,Node.js,Post,Xmlhttprequest,我试图从客户端XMLHttpRequest向节点页面(都在同一个域中,localhost)发出一个简单的post请求。我正在使用npm模块“xhr”。虽然req.query对象为空,但仍检测到post请求 以下是我的客户端请求: xhr.post({ body: JSON.stringify({ test: 'abc' }), timeout: 5000, uri: '/xhr/post-here', headers: { 'Content-Typ
xhr.post({
body: JSON.stringify({ test: 'abc' }),
timeout: 5000,
uri: '/xhr/post-here',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
}, function(err, res, body) {});
这是我的节点柱控制器:
router.post('/xhr/post-here', function(req, res) {
console.log('req.query: ' + JSON.stringify(req.query));
if (req.query.test) {
res.status(200).send({ valid: true });
} else {
res.status(400).end();
}
});
post处理程序中的console.log显示req.query对象为空,即使我在正文中发送了它。但是,如果我在Postman中尝试此请求,req.query将获得正确的参数
任何帮助都将不胜感激。谢谢。req.query用于
/path?param=value
。您应该在服务器端获取req.body
。@OlegMeleshko我尝试使用npm模块“body parser”获取req.body,尽管它始终未定义。奇怪的是,如果我在Postman中尝试这个请求,它会顺利通过。@kiasakibabody parser
工作得很好,你是否在你的节点应用程序中将它用作中间件?尝试阅读正文解析器
文档attentively@MysterX哦,看来我的另一个中间件功能破坏了请求。我应用了body解析器,它工作得非常好。谢谢