Mongojs在发送后无法设置标头

时间:2017-09-22 21:06:00

标签: mongodb angular http-headers mean mongojs

这显然是一个已知问题,但我不知道如何在我的MEAN项目中修复它。 似乎发送了多个请求。 我已经尝试了我能找到的所有解决方案(旧的或更新的)。到目前为止都没有成功。

res.end() res.redirect(' /&#39)

似乎没有什么可以做的。

error in console

error in the terminal console

这是我处理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)
            }
        })
    }


})

这是一个角度应用,所以这是我的服务文件。虽然这不是与客户有关的问题

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());  
  }

1 个答案:

答案 0 :(得分:0)

解决! 我确实在客户端和服务器中发送了两次请求。

在我的post.service.ts(客户端)中,我已经发送了一个答案: res => res.json()

已取代: res.status(200).res.json(任务) return res.end()

仅限: res.status(200)