Javascript XHR 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

我试图从客户端XMLHttpRequest向节点页面(都在同一个域中,localhost)发出一个简单的post请求。我正在使用npm模块“xhr”。虽然req.query对象为空,但仍检测到post请求

以下是我的客户端请求:

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中尝试这个请求,它会顺利通过。@kiasakiba
body parser
工作得很好,你是否在你的节点应用程序中将它用作中间件?尝试阅读
正文解析器
文档attentively@MysterX哦,看来我的另一个中间件功能破坏了请求。我应用了body解析器,它工作得非常好。谢谢