如何在get请求中发送节点j中的多个参数?

时间:2018-04-05 19:10:26

标签: javascript node.js

我尝试将数组作为参数发送,因此我有以下代码

var myJsonString = JSON.stringify(url);

    request.get('http://localhost:8090/saveURL/'+myJsonString, function(req, res,body) {
        console.log(body);
    })

如何使用节点发送params?

修改

我改变了我的请求请求,现在我正在使用它。

request.get({
   url: 'http://localhost:8090/saveURL/',
   qs: { param1: JSON.stringify(url)}
      },
      function(req, res,body) {
        console.log(req);
        console.log(body);
      }
    )

这是对的吗?

2 个答案:

答案 0 :(得分:1)

根据request docs,您可以使用qs传递查询参数的对象:

request.get({
   url: 'http://localhost:8090/saveURL/',
   qs: { param1; 'a', param2: 'b'}
  },
  function(req, res,body) {
    console.log(body);
  }
)

答案 1 :(得分:0)

我建议使用POST方法执行此操作,而不是GET,这更适合更改服务器上的数据。
此外,URL长度是有限的,如果您的数据非常大,它将无法正常工作。

例如:

request.post(
    'http://localhost:8090/saveURL/',
    { json: { key: 'value' } },
    function (error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(body)
        }
    }
);

用POJO(普通的JS对象)替换{ key: 'value' }