从Express JS发送自定义错误消息到Backbone
在快递js中,我有以下代码发送到骨干响应:
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); } });
有任何想法吗?
你从快递发送:
res.send(500, { error: "hi, there was an error" });
在Backbone中,错误callback的参数是:model,xhr,options
所以你需要从错误callback中的xhr对象中提取错误信息,如下所示:
obj.save( { data:"something" }, { success: function(model, response, options){ console.log("worked"); }, error: function(model, xhr, options){ console.log("error", xhr.responseText); } } );
在您的快速应用程序(例如):
res.send(403, { error: "some elaborate error message" });
你的骨干代码是正确的,你会看到错误
关于错误代码,我会build议坚持这个名单http://en.wikipedia.org/wiki/List_of_HTTP_status_codes