在Node,Express JS中发送URL参数

我有一个端点https:// www ..com

当我进行curl调用时,我的端点为https:// www。.com?param1 = true

我想从Nodejs做类似的调用,我不知道是否param1应该被传递在头,连接到端点或传递选项。 什么是正确的方式呢?

我的节点JS看起来像这样打电话给我的节点服务器和我的文件看起来如下,

app.post('/thisway', function(req, res){ var ENDPOINT = req.body.endPoint //(this gets me till https://<url> part of the endpoint string) var urlToHit = ENDPOINT.concat("?param1=true") var headers = { 'Authorization': xxxxx, 'Accept': '*/*', 'X-Spark-Service-Instance': xxxxx } var options= { url: urlToHit, headers: headers, json: {xxxxxx} } request(options, callback); } 

您可以像在urlToHit中的示例中那样传递它。 您不必将其传递到标题或选项中。

 var urlToHit = ENDPOINT.concat("?param1=true") 

这应该用所需的参数完成请求。 因为即使你正在做一个curl调用,这也是你打的端点,它也应该是这个端点。

在你的angularjs发出一个POST请求到/thisway?variable=true而不是/thisway ,在你的路由器中你可以configuration如下:

 app.post('/thisway', function(req, res){ var variable = req.query.variable; if (variable) { //do something } else { //do something } }); 

在发布post时,不必在路由发布中添加查询string参数。 主要用于app.get 。 您可以在您要发送的JSONstring数据中添加详细信息。 然后,您可以使用req.bodyreq.query来获取该项目。 但是你可以这样做:

  app.post('/thisway/:variable', function(req, res){ 

然后你使用req.param.variable检索参数

好例子