如何使用包含选项的request.js发出POST请求

时间:2015-02-20 09:06:41

标签: javascript node.js request httprequest

我确信这是一个基本的语法问题,但我想点击an API想要“请求”结构如下:

{"customer":{"firstName":"Regular","lastName":"Joe"}...} 

我还想提供一些选项,包括查询参数,即:

options = {
    method: "POST"
    url: "https://api.rezdy.com/latest/bookings"
    qs: {
        apiKey: apiKey,
    }
    json: true
}

如何在options哈希中包含以前的数据,以便我可以像这样调用它?

request(options, (err, response, body)->
    ...
)

我尝试使用formData这样做:

options = {
    method: "POST"
    url: "https://api.rezdy.com/latest/bookings"
    qs: {
        apiKey: apiKey,
    }
    formData: data
    json: true
}

但我仍然从API中收到错误,表明它没有收到数据。将数据包含在选项哈希中的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

根据官方网页https://www.npmjs.com/package/request

你可以像这样发送formdata -

request.post({url:'http://service.com/upload', form: {key:'value'}}, function(err,httpResponse,body){ /* ... */ })

你也可以使用像jquery这样的语法 - 例如

request({
                        method: 'POST',
                        uri: 'xxxxxx',
                        body: data,
                        json: true
                    }, function (error, response, body) {
                        console.log(body);                           
                        };

有关详情,请阅读 - How to make an HTTP POST request in node.js?