Node.js 节点js使用原始请求正文发送post请求
我想在req变量中发送原始请求正文。它在postman上工作,但在node js中,我无法将原始json作为post请求的请求正文发送。将Node.js 节点js使用原始请求正文发送post请求,node.js,post,Node.js,Post,我想在req变量中发送原始请求正文。它在postman上工作,但在node js中,我无法将原始json作为post请求的请求正文发送。将内容类型更改为应用程序/json,因为您的正文是json格式。您试图发送json(您的req变量),但您正在将其解析为字符串(json.stringify(req))。因为您的路由需要JSON,所以它可能会失败并返回错误。请尝试以下请求: var req ={ "request": { "header": { "
内容类型更改为应用程序/json
,因为您的正文是json格式。您试图发送json(您的req
变量),但您正在将其解析为字符串(json.stringify(req)
)。因为您的路由需要JSON,所以它可能会失败并返回错误。请尝试以下请求:
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)
}
}
);
如果要发送json,不必设置标题,只需添加选项json:true
。在标题中为正文中添加的字符串添加“内容长度”,即可解决此问题。
这对我有用
标题:{“缓存控制”:“无缓存”,“内容类型”:“应用程序/json;字符集=UTF-8”,“内容长度”:请求长度}错误是什么?您的“内容类型”:“application/x-www-form-urlencoded”
是否不正确,因为您发送的是JSON?它应该是application/json
.POST/HTTP/json/Prices/GetPriceSheet.aspx HTTP/1.1 Host:Host.com内容类型:application/x-www-form-urlencoded缓存控制:无缓存{“请求”:{“头”:{“用户名”:“名称”、“密码”:“pw”},“体”:{“形状”:“圆形”}}这是正在邮差上工作的请求预览。所以我需要x-www-form-urlencoded在头中,但也要发送原始json数据。我收到的错误是rest服务的格式错误。我尝试过,但“内容类型”:“application/x-www-form-urlencoded”也是标题的要求。然后你必须将正文更改为该格式,而不是JSON格式。是的,我想这是问题所在,我不需要JSON,而是根据内容类型使用查询字符串中的数据。我将尝试找出x-www-form的格式。谢谢
request.post({
url: 'posturl',
body: req,
json: true
}, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body)
}
});