节点js发送请求原始请求

var req ={ "request": { "header": { "username": "name", "password": "password" }, "body": { "shape":"round" } } }; request.post( {url:'posturl', body: JSON.stringify(req), headers: { "content-type": "application/x-www-form-urlencoded"} }, function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) } } ); 

我想在reqvariables中发送原始请求体。 它正在邮递员上,但在节点js我不能发送原始json作为请求正文发送请求。

       

网上收集的解决方案 "节点js发送请求原始请求"

你正试图发送JSON(你的reqvariables),但是你把它parsing为一个string( JSON.stringify(req) )。 由于您的路线期望JSON,它可能会失败,并返回一个错误。 尝试下面的请求:

 request.post({ url: 'posturl', body: req, json: true }, function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) } }); 

如果您要发送JSON,则可以不添加标头,而只需添加选项json: true

因为你的主体是JSON格式,所以将Content-Type更改为application/json