Javascript 请求中提供的NodeJSON未随推送一起发送

Javascript 请求中提供的NodeJSON未随推送一起发送,javascript,json,node.js,Javascript,Json,Node.js,我正在尝试从节点应用程序调用PostWebService的api。 我使用get方法成功地从同一个api中提取了数据,因此connexion工作得非常好。 现在我想推一下 request({ method: 'POST', url: ws.url, json: {"id": 78, "product" : "MyProduct"} }, function (error, response,body) { consol

我正在尝试从节点应用程序调用PostWebService的api。 我使用get方法成功地从同一个api中提取了数据,因此connexion工作得非常好。 现在我想推一下

    request({
        method: 'POST',
        url: ws.url,
        json: {"id": 78, "product" : "MyProduct"}
    }, function (error, response,body) {
        console.log('error ',error);
        console.log('body ',body);
        console.log('response ',response);
        cb(error, response)
        //console.log(error, response)
    })
我得到了这些console.log:

error  undefined
body  undefined
response  { errMsg: 'id not provided ' }
所以响应非常明确,API没有收到我的id。 然而,当我用Postman手动调用相同的ws时,它工作正常

那么,我的json参数有什么问题?我应该换一种方式寄吗? 我的Web服务需要在其正文中包含此内容,而不需要其他内容:

{"id": 78, "product" : "MyProduct"}

我发现了我的问题,事实上是我正在处理扩展请求库的项目,问题出现在覆盖请求原始行为的方法中。
总而言之,我上面的代码应该可以工作,我只需要修复这个肮脏的覆盖。

你试过使用
JSON.stringify({id:78,product:“MyProduct”})
?@yvoytovych是的,我试过,通常,请求应该字符串化我的json本身,但我尝试提供一个字符串化的json和一个带有字符串化值的body节点,而不是jsonmaybe。请尝试将
contentType:“application/json”
包含到您的帖子中request@yvoytovych — “json-将body设置为值的json表示形式,并添加内容类型:application/json header。此外,将响应主体解析为JSON。”——@NicolasD确保您的API处理“application/JSON”格式的主体(而不是application/x-www-form-urlencoded),并检查它是否从请求主体而不是url获取id。