邮递员回复:无法从服务器获得任何回复

时间:2015-12-04 10:31:21

标签: javascript node.js express underscore.js postman

我正在尝试创建一个待办事项列表应用,并在每种类型的请求中使用POSTMAN进行检查。 GET和POST请求工作正常。但PUT和DELETE没有按预期工作。

正如预期的那样意味着:它没有显示404既没有显示结果,也没有显示错误,即无法得到任何回复。

这是我的put和delete代码:

var todos = [];

// DELETE /todos/:id

app.delete('/todos/:id', function(req,res){
    var todoId = parseInt(req.params.id, 10);
    var matchedTodo = _.findWhere(todos, {id: todoId});

    if(!matchedTodo){
        res.status(404).send();
    }else{
        todos = _.without(todos, matchedTodo);
        res.json(matchedTodo);
        //console.log(todos);
    }

});

// PUT /todos/:id

app.put('/todos/:id', function(req,res){

    var todoId = parseInt(req.params.id, 10);
    var matchedTodo = _.findWhere(todos, {id: todoId});
    var body = _.pick(req.body, 'description', 'completed');
    var validAttributes = {};

    if(!matchedTodo){
        return res.status(404).send();
    }

    if(body.hasOwnProperty('completed') && _.isBoolean(body.completed)){
        validAttributes.completed = body.completed;
    }else if(body.hasOwnProperty('completed')){
        return res.status(400).send();
    }

    if(body.hasOwnProperty('description') && _.isString(body.description) && body.description.trim().length > 0){
        body.description = body.description.trim();
        validAttributes.description = body.description;
    }else if(body.hasOwnProperty('description')){
        return res.status(400).send()
    }

    _.extend(matchedTodo, validAttributes);
    res.json(matchedTodo);



});

现在,我不知道这是一个错误还是什么。

1 个答案:

答案 0 :(得分:2)

首先,您应该尝试官方提示:

  • 服务器无法发送响应:确保后端正常运行
  • 自签名SSL证书被阻止:通过在SSL certificate verification中关闭'Settings > General'
  • 来解决此问题。
  • 代理配置不正确:确保在Settings > Proxy
  • 中正确配置了代理
  • 请求超时:Settings > General
  • 中更改请求超时

第二,通常官方提示2 将解决此问题。如果不是,则可以使用环境变量。您应该确认链接(如协议picture中所示)可以访问。

如果不是,则应检查环境变量的当前值。如果当前值为blank,则应填写设置在官方提示中更改为的选项>默认。现在应该解决问题。