Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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
Javascript 向请求HTTP POST节点js中的表单参数发送变量_Javascript_Node.js_Post - Fatal编程技术网

Javascript 向请求HTTP POST节点js中的表单参数发送变量

Javascript 向请求HTTP POST节点js中的表单参数发送变量,javascript,node.js,post,Javascript,Node.js,Post,我正在尝试通过节点js发送HTTP POST请求 这是我的密码: var tentativa = "{ id:'" + result.rows[i][0] + "', timestamp:'" + result.rows[i][1]+"', application: '"+ applicationName + "', type:'Log', source: '" + result.rows[i][2] + "', " + string+ " }";

我正在尝试通过节点js发送HTTP POST请求

这是我的密码:

var tentativa = "{ id:'" +  result.rows[i][0] + "', timestamp:'" + result.rows[i][1]+"', application: '"+ applicationName +
              "', type:'Log', source: '" + result.rows[i][2] + "', " + string+ " }";

            request({
              uri: "http://localhost:5000/logs",
              method: "POST",
              form:   tentativa,
              headers: { 'Content-Type' : 'application/x-www-form-urlencoded' }
              }, function(error, response, body) {
                console.log(body);

            }); 

当我以表单形式发送“tenativa”变量时,请求将被发送,但不会保存任何内容。但是当我发送“tenativa”变量的输出时,它工作得很好。不应该是相同的吗?

这不是有效的json

var tentativa = "{ id:'" +  result.rows[i][0] + "', timestamp:'" + result.rows[i][1]+"', application: '"+ applicationName +
              "', type:'Log', source: '" + result.rows[i][2] + "', " + string+ " }";
最后一个值缺少key属性,这可能是它不随请求发送对象的原因

由于看起来您想要发送一个简单的json,所以您可以将对象放在主体中

request({
     uri: "http://localhost:5000/logs",
     method: "POST",
     body:   tentativa,
     json: true,
     headers: { "Content-Type": "application/json"}
  }

  }, function(error, response, body) {
      console.log(body);

  }); 

非常感谢你的帮助。
使用javascript对象而不是字符串解决了问题,如@varbrad所说。

form属性可能只是一个常规javascript对象,而不是对象的字符串表示形式。
request
库将为您转换它,并将其正确编码为HTTP请求。“…request throw Node.js”您的意思是Node.js正在抛出错误吗?出了什么差错?@borislemke它没有被抛出,而是通过了。对不起,弄错了