在Node,Express JS中发送URL参数

时间:2017-05-31 06:24:09

标签: angularjs node.js express server

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

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

我想从Nodejs做类似的调用,我不确定param1是应该在头文件中传递,连接到端点还是传入选项。这样做的正确方法是什么?

My Node JS看起来像是调用我的Node Server和我的文件,如下所示,

    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);
}

3 个答案:

答案 0 :(得分:1)

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

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

这应该使用所需的参数完成请求。因为即使你正在进行卷曲调用,这是你点击的端点,它也应该是同一个端点。

答案 1 :(得分:0)

在您的angularjs中向/thisway?variable=true而不是/thisway发送帖子请求,您可以在路由器中配置如下:

app.post('/thisway', function(req, res){
    var variable = req.query.variable;

    if (variable) {
    //do something
    } else {
    //do something
    }
});

答案 2 :(得分:0)

在发布帖子时,没有必要在路径帖子中添加查询字符串参数。主要用于app.get。您可以在要发送的JSON字符串数据中添加详细信息。然后,您可以使用req.bodyreq.query来获取该项目。但是你可以这样做:

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

然后使用req.param.variable

检索参数

Good EXAMPLE