O título pode não ser muito descritivo, mas quero mostrar como envio dados em uma solicitação POST para Nodejs sem jquery ou qualquer outra biblioteca. Já solicitei isso muitas vezes e sempre entendo algo errado.
// this simulates an html form
var formdata = new FormData(); [1]
formdata.append('param_name1', 'value')
formdata.append('param_name2', 'value')
formdata.append('param_name3', 'value')
var xhr = new XMLHttpRequest(); // create a xhr [2]
xhr.open('POST', '/post', true);
xhr.onload = function(e) {
if (this.status == 200) {
console.log(this.responseText);
}
};
xhr.send(formdata); // send the data
E uma parte muito importante é ter seu aplicativo configurado nesta ordem
app.use(express.bodyParser());
app.use(app.router);
Primeiro o bodyParser
e depois o router
E os parâmetros estão noreq.body.param_name1, 2, 3 etc.
[1] https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/FormData