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

how to make a POST request using request.js that includes options

我确定这是一个基本的语法问题,但我正在尝试点击 an API 需要 "a request" 的结构如下:

{"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 返回的错误,表明它没有收到数据。将数据包含在选项哈希中的正确方法是什么?

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

您可以像这样发送表单数据 -

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

有关更多信息,您可以阅读 -