2017-07-28 2 views
1

quand je fais la demande de poste de facteur, les données de la demande a été montré serveur, mais la réponse du serveur ie code de statut et objet json n'a pas été envoyé au postier, postier était en train de charger ... et après un certain temps, il dit ne pouvait pas obtenir de réponse du serveur.n'a pas pu obtenir de réponse du serveur express.js en utilisant postier

ici est ma classe server.js

var bodyParser = require('body-parser'); 
var express = require('express'); 

var {mongoose} = require('./db/mongoose'); 
var {Todo} = require('./models/todo'); 
var {Users} = require('./models/Users'); 

var app = express(); 
app.use(bodyParser.json()); 

app.post('/todos', (req, res) =>{ 
var todo = new Todo({ 
text: req.body.text 
}); 

todo.save().then((doc) => { 
res.send(doc); 
}, (e) => { 
res.status(400).send(e); 
}); 

}); 

app.listen(3000,() =>{ 
console.log('started at port 3000'); 
}); 
+0

Quelle demande (s) avez-vous essayé de faire? – Paul

+0

Ajoutez un '.catch (err => res.send (err))' à 'todo.save()'. C'est probablement jeter une exception, ne résolvant donc pas la promesse. –

+0

Ce code devrait fonctionner très bien ... –

Répondre

0

Il y a une erreur dans l'exécution todo.save ne console.log(e) pour vérifier ce qui est le lancement d'erreur par mongo. Aussi, vous pouvez envoyer une erreur dans une réponse juste pour voir ce qui se passe, au lieu d'écrire res.status(400).send(e); écrire res.send(e) et il enverra une erreur en réponse. "Impossible d'obtenir une réponse" erreur se produit généralement lorsque vous n'avez envoyé aucune réponse du serveur. Dans votre cas, vous envoyez une réponse à partir de votre bloc "Promise resolved" mais pas de votre bloc d'erreur.

Vérifiez également todo.save() return promise? peut être vous pouvez réaliser ceci par

todo.save(function(err,doc){ 
if(err){ 
return res.send(err); 
} 
res.send(doc); 
}) 
+0

dans la console postier il a donné cette erreur Erreur: lire ECONNRESET – malik

+0

Son ne fonctionne pas, je utilise même le code ci-dessus. montrant maintenant l'erreur "socket raccrocher" – malik