NodeJS Comment obtenir les Données dans le serveur, envoyé à partir de jquery ajax appel par la POSTE
Mon client est de faire un appel ajax
{{
function callNode(){
console.log("I am called");
var data = {"emailId":"[email protected]"};
$.ajax({
type: 'POST',
data: JSON.stringify(data),
/* data: {
blob: {wob:"1",job:"2", ar:[1,2,{a:'b'}]}
},*/
contentType: "application/javascript",
//contentType: "application/x-www-form-urlencoded",
dataType:'json',
url: 'http://localhost:3000/notification',
success: function(data) {
console.log('success');
console.log(JSON.stringify(data));
},
error: function(error) {
console.log("some error in fetching the notifications");
}
});
}
}}
Je suis en mesure d'obtenir cette demande dans mon app.js mais n'a pas pu obtenir les données que je suis de passage
J'ai essayé de chercher mais rien ne fonctionne
{{
app.post('/notification', function(req, res) {
JSON.stringify(req.params);
/*
var body;
req.on('data', function(chunk) {
console.log("Received body data:");
body += chunk;
});
//the end event tells you that you have entire body
/*req.on('end', function () {
try {
var data = JSON.parse(body);
colnosole.log(data);
} catch (er) {
//uh oh! bad json!
res.statusCode = 400;
return res.end('error: ' + er.message);
}
}
*/
}}
Chose, c'est que sa ne vient pas à l'intérieur de tous les événements de la demande et de la réponse(que j'ai vu beaucoup de personnes utilisant ce pour extraire les données.
M'aider à savoir quoi de mal ici sa première fois ajax sur le nœud
OriginalL'auteur Gopal Shukla | 2014-09-11
Vous devez vous connecter pour publier un commentaire.
Puisque vous envoi des données en json le contentType doit être changé par rapport à ce qui est si l'appel ajax devrait être:
Ici vous pouvez voir le contentType changé d'application/json.
À la fin du serveur, vous devez vérifier la demande.corps afin d'obtenir les données et de ne pas demander.params.
OriginalL'auteur V31
req.params ne fait pas ce que vous pensez que cela fonctionne.
Visite
/test
permettraient d'alimenterreq.params.route
avectest
.Vous êtes à la recherche pour
req.body
, qui peut seulement être utilisé avec le corps de l'analyseur middleware.OriginalL'auteur Ben Fortune
Vous devez utiliser le corps analyseur de middleware(https://www.npmjs.org/package/body-parser) et vous avez besoin de déclarer les badyParser à utiliser
app.utilisation(bodyParser.urlencoded())
à l'intérieur de votre principal fichier js. Puis req.corps de l'objet va contenir votre json/texte/raw/urlencoded de données.
OriginalL'auteur Duminda Wanninayake