在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
是字符串的简单哈希 - &gt; {string,number}。
答案 0 :(得分:15)
您要找的是查询字符串库http://nodejs.org/api/querystring.html
此外,您可能对此HTTP客户端请求库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='