2012-05-01 11 views
5

En Node.js (usando Express.js), cuando llamo http.request como tales:http.get y cadena de consulta en Node.js

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

todo está bien, excepto la parte query de opciones se ignora . La documentación dice que la cadena de consulta debe construirse manualmente y pasar dentro de path: algo así como path: '/?name=John%20Doe&age=50'.

¿Cuál es la mejor manera de lograr eso? query es un hash simple de cadena -> {cadena, número}.

Respuesta

15

Lo que estamos buscando es la cadena de consulta biblioteca http://nodejs.org/api/querystring.html

Y también, que podría estar interesado en esta biblioteca petición del cliente 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=' 
+0

funciona como magia, gracias – user124114

+0

Gracias! Me salvó la vida en el momento crucial. – Yablargo

+0

¿qué pasa con JSON.stringify? –

Cuestiones relacionadas