2011-04-03 4 views
14

He usado este código para leer la cadena de consulta? Name = Jeremy ... ¿alguien me puede decir cómo hacer esto con los datos de la publicación? también con json?¿Cómo hacer una simple lectura de datos POST en el Nodo JS?

var http = require('http'), url = require('url'); 
http.createServer(function(request, response) { 
    response.writeHead(200, {"Content-Type":"text/plain"}); 
    var urlObj = url.parse(request.url, true); 
    response.write("Hello " + urlObj.query["name"] + "!\n"); 
}).listen(8000); 

gracias!

Respuesta

20

Tienes que manejar data y end eventos de http.ServerRequest objeto. Ejemplo:

var util = require("util"), 
    http = require('http'), 
    url = require('url'), 
     qs = require('querystring'); 

... 

// this is inside path which handles your HTTP POST method request 
if(request.method === "POST") { 
    var data = ""; 

    request.on("data", function(chunk) { 
     data += chunk; 
    }); 

    request.on("end", function() { 
     util.log("raw: " + data); 

     var json = qs.parse(data); 

     util.log("json: " + json); 
    }); 
} 

Here es un artículo sobre este tema con el ejemplo (con la versión demasiado vieja de Node.js por lo que podría no funcionar, pero el principio es el mismo).

+2

Estoy buscando en Google y me di cuenta de que su respuesta es de hace un año ... ¿sigue siendo exacto? Además, estoy usando Express, que claramente no se está usando aquí. –

+0

El problema aquí es que la respuesta no tendrá el formato JSON correcto. – Bloodyaugust

Cuestiones relacionadas