2017-10-04 32 views
0

我看到request包是使用NodeJS发出HTTP API请求的标准。我需要使用它来发送一些请求,但在the docs和我发现的所有例子中,我看不到如何传递GET变量。我只看到如何通过POST PARAMS。这里是我的代码:Javascript节点申请如何发送GET变量

request.get("https://api.example.com", function (err, res, body) { 
     if (!err) { 
      var resultsObj = JSON.parse(body); 
      //Just an example of how to access properties: 
      console.log(resultsObj.MRData); 
     } 
    }); 

在哪里设置GET?我不喜欢在网址中使用它。

+0

GET参数_are_ URL的一部分,那么,为什么你想把它们放在别的地方? – CBroe

+0

GET变量通常是标准的,需要在url本身*中进行编码,您不应该像POST请求一样传递“body”数据。将它们作为[查询字符串]发送(https://en.wikipedia.org/wiki/Query_string) – TKoL

回答

1

您正在寻找qs属性。从文档:

QS - 包含查询字符串值对象被追加到URI

request({ 
    qs: { 
    foo: 'bar', 
    }, 
    uri: 'http://foo.bar/' 
}, callback) 
+0

啊。它不是一个很常见的名字。谢谢。 – xendi

+0

@xendi - 它是一个非常普遍的名称,也是各种网络标准中使用的名称。 – Quentin

+0

我知道它在技术上处于文档中,但通常你只是读过人们说的“获取请求/变量”。自从我阅读查询字符串已经有一段时间了。也许这只是我。 – xendi