added error handler to xhr requests

This commit is contained in:
Misko Hevery
2010-05-19 11:51:17 -07:00
parent 1bdcf72e45
commit 0f73084e9d
6 changed files with 107 additions and 22 deletions

View File

@@ -87,16 +87,25 @@ ResourceFactory.prototype = {
}
var value = action.isArray ? [] : new Resource(data);
self.xhr(action.method, route.url(extend({}, action.params || {}, extractParams(data), params)), data, function(status, response) {
if (action.isArray) {
foreach(response, function(item){
value.push(new Resource(item));
});
} else {
copy(response, value);
self.xhr(
action.method,
route.url(extend({}, action.params || {}, extractParams(data), params)),
data,
function(status, response) {
if (status == 200) {
if (action.isArray) {
foreach(response, function(item){
value.push(new Resource(item));
});
} else {
copy(response, value);
}
(callback||noop)(value);
} else {
throw {status: status, response:response, message: status + ": " + response};
}
}
(callback||noop)(value);
});
);
return value;
};