Indipendentemente dalla combinazione di req.params/req.query/req.body e $ .post ({..} che utilizzo, non riesco a estrarre i dati JSON dalla mia richiesta di Jquery in express .Invio di dati Jquery a Express
Questo è il mio jQuery:
$.post("/mail", {email : "[email protected]", name : "[email protected]"});
ho anche provato varie permutazioni di:
$.ajax({type: "POST", url: "/mail", dataType :"json", data :
{email : "[email protected]", name : "[email protected]"}});
Questo è il mio node.js exp ress Codice:
app.post("/mail", function(req, res) {
console.log(req.body.name);
console.log(req.route);
console.log("params1: " + req.param.params);
....
Ho provato infiniti modi di accesso alla posta elettronica di dati e il nome senza successo. Sarei sorpreso se la soluzione fosse una semplice modifica a req.body/req.params ma tutto è possibile! I dati non sono lì! (Non appare nel mio url sia - tutto quello che vedo è localhost: 1337)
req.body/req.params/req.param.params/req.params restituiscono tutteindefinito e req. query restituisce[].
req.route rendimenti:
{ path: '/mail',
method: 'post',
callbacks: [ [Function] ],
keys: [],
regexp: /^\/mail\/?$/i,
params: [] }
Ho provato ad aggiungere:
app.use(express.bodyParser());
Ma, è vero, non capisco pienamente il suo scopo. Qualsiasi aiuto è molto apprezzato.
Buone vacanze! // Sam
Forse questo ti aiuterà un po '? http://stackoverflow.com/questions/5710358/how-to-get-post-query-in-express-node-js –
Il middleware 'bodyParser' è quello che inizializza' req.body' dal corpo POST, quindi hai davvero bisogno di questo. Assicurati di usarlo prima di montare i percorsi (ad esempio prima di fare "app.use (app.router)" o la tua prima chiamata "app.get' /' app.post' etc). –
Cosa ha detto Linus, assicurati che nella tua configurazione bodyParser sia impostato PRIMA del tuo routing. – leepowell