如何使用http请求发送参数

时间:2016-01-30 03:10:44

标签: javascript node.js request

我正在使用node.js构建一个应用程序,并使用request包来发出请求。我试图将数据传递到我的服务器API以返回所有订单 - 我的问题是我如何发送参数作为我的请求的一部分?到目前为止我的代码:

function callback(error, response, body) {
        console.log(body); //returns empty; should return array of orders
        res.render('../views/orders');
    }

    var options = {
        url: 'http://localhost:3000/api/orders',
        headers: {
            host: 'localhost:3000',
            connection: 'close',
            cookie: cookieText
        },
        data: { //data and company_id are parameters I want to pass
            email: 'abc123@gmail.com',
            company_id: 'secretcompanyid'
        }
    };

    request(options, callback);

在我的代码中,emailcompany_id是我的服务器端API所需的参数。但是,当前请求不返回任何数据。当我在服务器端调试参数.log时,它返回空,因此我认为问题是我如何将参数传递给服务器。有人可以帮忙吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

这样做是因为它是一个GET请求:

function callback(error, response, body) {
        console.log(body); //returns empty; should return array of orders
        res.render('../views/orders');
    }

    var options = {
        url: 'http://localhost:3000/api/orders',
        headers: {
            host: 'localhost:3000',
            connection: 'close',
            cookie: cookieText
        },
        qs: { //data and company_id are parameters I want to pass
            email: 'abc123@gmail.com',
            company_id: 'secretcompanyid'
        }
    };

    request(options, callback);