2013-08-11 15 views
20

Robię samouczki na temat node.js, a lekcja uczy mnie, jak utworzyć serwer za pomocą węzła. W kodzie poniżej, co robi linia connect.bodyParser()?Co robi bodyParser() w oprogramowaniu pośredniczącym connect?

var app = connect() 
    .use(connect.bodyParser()) 
    .use(connect.static('public')) 
    .use(function (req, res) { 
     if (req.url === '/process') { 
      res.end(req.body.name + ' would repeat ' + req.body.repeat + ' times.'); 
     } else { 
      res.end("Invalid Request"); 
     } 
    }) 
    .listen(3000); 

Odpowiedz

15

zapełnia on req.body z (między innymi) wartości parametrów POST. Oto dokument i przykłady: http://expressjs.com/api.html#req.body

bodyParser jest częścią "Connect", zestawu middleware dla node.js. Oto prawdziwy dokument i źródło z Connect: http://www.senchalabs.org/connect/bodyParser.html

Jak widać, jest to po prostu cienka owijka, która próbuje zdekodować JSON, jeśli się nie powiedzie, spróbuj zdecydować URLEncoded, a jeśli się nie uda, spróbuj dekodować Multi-Part.