人们是如何处理ember-data中的404个错误的?
目前,rest适配器以这种方式处理错误:
didError: function(store, type, record, xhr) {
if (xhr.status === 422) {
var data = JSON.parse(xhr.responseText);
store.recordWasInvalid(record, data['errors']);
} else {
store.recordWasError(record);
}
},在尝试保存模型时,我可以判断该模型是否无效,但在执行find或findById操作时,我无法判断是否未找到该记录。
人们是如何处理404错误的?
发布于 2012-12-18 20:09:04
我所做的是在服务器中有404个页面,实际上只有JSON字符串提到了错误。然后在Ember里处理它们。也许有更好的方法,但这很容易,不会浪费你太多的时间。
例如:
[{"msg":"Data Not Found"}]在FindAll或查找适配器的方法中,如下所示
DS.Adapter.create({
find: function(store, type, id) {
var url = type.url;
url = url.fmt(id);
jQuery.getJSON(url, function(data) {
// data is a Hash of key/value pairs. If your server returns a
// root, simply do something like:
// store.load(type, id, data.person)
if(data.msg!=="Data Not Found")
store.load(type, id, data);
});
}
});https://stackoverflow.com/questions/13926999
复制相似问题