Il s'agit évidemment d'un problème connu, mais je n'ai aucune idée de la façon de le réparer sur mon projet MEAN. il semble que plusieurs demandes sont envoyées. J'ai essayé toutes les solutions que j'ai pu trouver (anciennes ou plus récentes). infructueux jusqu'à présent.Mongojs Impossible de définir les en-têtes après leur envoi
res.end() res.redirect ('/')
rien ne semble faire l'affaire.
ceci est mon code où je gère mes méthodes HTTP
//delete
router.delete('/task/:id', function(req, res, next) {
let post = mongojs.ObjectId(req.params.id)
db.tasks.remove({_id: mongojs.ObjectId(req.params.id)}, function(err, task){
res.status(200).res.json(task)
return res.end()
console.log('SERVER - post ' + req.body.title + ' successfully deleted')
if (err) {
res.send('error message ' + err)
}
})
})
//update
router.put('/task/:id', function(req, res, next) {
var task = req.body
var updateTask = {}
updateTask.isDone = task.isDone
updateTask.title = task.title
if(!updateTask) {
res.status(404).send({
"error": "bad request"
})
} else {
db.tasks.update({_id: mongojs.ObjectId(req.params.id)}, updateTask, {}, function(err, task){
res.status(200).res.json(task)
return res.end()
if (err) {
res.send('error message ' + err)
}
})
}
})
c'est une application angulaire, voici donc mon dossier de service. bien que, ce n'est pas un problème lié au client
public deletePost(post: Post) {
console.log('SERVICE - post ' + post._id + ' successfully deleted')
return this.http.delete('http://localhost:1234/api/task/' + post._id)
.map(res => res.json)
}
public updatePost(postId : string, newText:string) {
}
public addPost(newPost: Post) {
var headers = new Headers();//??
headers.append('Content-Type', 'application/json');
console.log('successfully added (service)' + newPost.title)
let body = JSON.stringify({title: newPost.title, isDone:false});
console.log(body)
return this.http.post('http://localhost:1234/api/task', JSON.parse(body),{headers})
.map(res => res.json());
}
résolu! J'envoyais en effet la demande deux fois dans le client et dans le serveur. – SandyL
remplacé: res.status (200) .res.json (tâche) return res.end() – SandyL