【问题标题】:Backbone model.save calls error function on status code 200Backbone model.save 在状态码 200 上调用错误函数
【发布时间】:2014-03-31 13:43:43
【问题描述】:
this.model.save(newModel, {error: function (e){
        alert("Error trying to save contact: " + e);
        console.log(e);
    }});

上面是在客户端运行的代码。服务器代码是

model.update_contact(contact, function(err){
        if(err){
            res.statusCode = 500;
            return res.json({"Database error" : err});
        }
        return res.end();
    });

检查网络流量,我看到服务器以状态码 200 响应,但网页显示警告消息“尝试保存联系人时出错:[对象对象]”

p.s db查询成功

【问题讨论】:

    标签: javascript backbone.js express


    【解决方案1】:

    Backbone 期望返回模型的 JSON 以响应 PUT 或 POST 请求 IIRC。

    不要返回res.end(),试试这个:

    return res.json(contact);
    

    【讨论】:

      【解决方案2】:

      愚蠢的错误,我的服务器没有正确返回对象。一旦我添加了返回对象的代码,一切都运行良好。

      【讨论】:

      • 不相关,但如果您因任何原因返回res.end(),您应该事先设置res.statusCode = 204。见这里:httpstatus.es/204
      猜你喜欢
      • 2012-07-04
      • 1970-01-01
      • 1970-01-01
      • 2017-07-12
      • 2013-02-18
      • 1970-01-01
      • 2015-05-12
      • 1970-01-01
      • 2017-04-23
      相关资源
      最近更新 更多