在节点http.request中发送查询数据

时间:2014-02-11 21:39:49

标签: node.js http http-post

这是我的情况。在我的服务器呈现页面之前,它需要进行API调用以检索它将插入页面的元数据。

来自http://nodejs.org/api/http.html#http_http_request_options_callback

我使用的是vanilla节点方法http.request

到目前为止,这是我的代码:

    var options = {
        host: 'otogodirect.ca',
        port: 8080,
        path: '/api/vehicleView',
        method: 'POST'
    };
    var vehicleView = http.request(options, function(res){
        res.on('data', function (chunk) {
            console.log('BODY: ' + chunk);
        });
    }).on('error', function(e){
        console.log(e);
        console.log('error');
    });
    vehicleView.write('userName=nico');
    vehicleView.end();

在倒数第二行,我试图在我的帖子请求中传递userName = nico作为查询参数。然而,看起来它似乎没有进入API。我的问题:如何传递诸如

之类的对象
{userName: 'nico', id: 123332}

到我的API调用。

警告我在SO上看到了类似的问题,但所有答案都使用了一些第三方节点包(即请求,请求)。我将来可能会使用一个,但是现在我想让它在 PURE VANILLA NODE 中工作,以便我能够准确理解它是如何工作的,所以请没有第三方节点包的答案< / strong>谢谢。

1 个答案:

答案 0 :(得分:0)

这可能无法解决您的整个问题,但可以使用Node核心中的querystring module从JSON对象转换为查询字符串并再返回。