从Express JS发送自定义错误消息到Backbone

时间:2014-01-03 11:04:03

标签: javascript node.js backbone.js express

在express js中,我有以下代码向Backbone发送响应:

if (!user) {
    req.session.messages = [info.message];
    return res.send(400, howCanIsendTheErrorMessageAlso);
}

如何发送错误消息以及错误代码?

Backbone如何接收它?

有什么想法吗?

在骨干网中,我有以下代码:

loginModel.save({
    username : obj.elEmail.val(),
    password : obj.elPassword.val(),
    admin : false
}, {
    success: function (e) {
        console.log('success');
    }, 
    error: function (e) {
        console.log(e);
    }   
});

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

您从快递发送:

res.send(500, { error: "hi, there was an error" });

在Backbone中,错误回调的参数是:model,xhr,options

因此,您需要在错误回调中的xhr对象中提取错误消息,如下所示:

obj.save(
   {
    data:"something"
   },
   {
    success: function(model, response, options){
     console.log("worked");
    },
    error: function(model, xhr, options){
     console.log("error", xhr.responseText);
    }
   }
);

答案 1 :(得分:1)

在您的快递应用中(例如):

res.send(403, {
          error: "some elaborate error message"
});

你的Backbone代码是正确的,你会看到错误

关于错误代码,我建议您坚持使用此列表http://en.wikipedia.org/wiki/List_of_HTTP_status_codes