Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 节点js使用原始请求正文发送post请求_Node.js_Post - Fatal编程技术网

Node.js 节点js使用原始请求正文发送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": { "

我想在req变量中发送原始请求正文。它在postman上工作,但在node js中,我无法将原始json作为post请求的请求正文发送。

内容类型更改为
应用程序/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)
    }
});