2012-06-23 9 views
32

Sto costruendo un modulo di registrazione (passaporto-locale come autenticazione, moduli come helper del modulo).Express.js ottiene il metodo http nel controller

Poiché la registrazione conosce solo GET e POST, mi piacerebbe eseguire l'intera gestione in un'unica funzione.

Con altre parole che il mio dopo qualcosa come:

exports.register = function(req, res){ 
    if (req.isPost) { 
     // do form handling 
    } 
    res.render('user/registration.html.swig', { form: form.toHTML() }); 
}; 

risposta

61

la risposta è stata abbastanza facile

exports.register = function(req, res) { 
    if (req.method == "POST") { 
     // do form handling 
    } 
    res.render('user/registration.html.swig', { form: form.toHTML() }); 
}; 

Ma ho cercato a lungo per questo approccio nella guida veloce.

Infine la documentazione nodo ha tali informazioni dettagliate: http://nodejs.org/api/http.html#http_http_request_options_callback

+5

destro. È un peccato che il documento express.js abbia perso queste cose qui http://expressjs.com/api.html#req.params e non faccia riferimento alla documentazione della libreria integrata NodeJS, che è veramente necessaria. –

+4

Ciao, grazie per aver postato questa soluzione. Per me però, per far funzionare la logica come hai elencato lì, ho dovuto fare la mia istruzione IF in questo modo: 'if (req.method! = 'GET')' – gnB

Problemi correlati