5

在 Node.js(使用 Express.js)中,当我http.request这样调用时:

var options = {
    host: '127.0.0.1',
    port: 80,
    path: '/',
    query: {name: "John Doe", age: 50} // <---- problem here
};
http.request(options, function(response) { ... });

一切都很好,除了query选项的一部分被忽略了。文档说查询字符串必须手动构建,并在内部传递path:类似于path: '/?name=John%20Doe&age=50'.

实现这一目标的最佳方法是什么?query是 string->{string, number} 的简单哈希。

4

1 回答 1

15

What you're looking for is the querystring library http://nodejs.org/api/querystring.html

And also, you might be interested in this HTTP client request library https://github.com/mikeal/request

var qs = require('querystring');
qs.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' })
// returns
'foo=bar&baz=qux&baz=quux&corge='
于 2012-05-01T11:09:13.233 回答