Javascript AngularJS$http和如何获取错误响应
我看到以下调用服务器端资源的示例:Javascript AngularJS$http和如何获取错误响应,javascript,angularjs,Javascript,Angularjs,我看到以下调用服务器端资源的示例: UserSession.prototype.$save = function() { return $http.post('/users/sign_in', { "user" : { "email" : this.email, "password" : this.password, "remember_me" : this.remember_me ? 1 : 0 }
UserSession.prototype.$save = function() {
return $http.post('/users/sign_in', {
"user" : {
"email" : this.email,
"password" : this.password,
"remember_me" : this.remember_me ? 1 : 0
}
});
};
我的问题是,如果调用失败,是否可以在代码中看到实际的错误响应?上面的内容是如何编写的?您需要使用
.error()
回调函数
您需要使用
.error()
回调函数
你错过了回电
UserSession.prototype.$save = function() {
return $http.post('/users/sign_in', {
"user" : {
"email" : this.email,
"password" : this.password,
"remember_me" : this.remember_me ? 1 : 0
}
})
.success(function (data, status, headers, config) {
// success logic here
})
.error(function (data, status, headers, config) {
// error logic here
});
};
你错过了回电
UserSession.prototype.$save = function() {
return $http.post('/users/sign_in', {
"user" : {
"email" : this.email,
"password" : this.password,
"remember_me" : this.remember_me ? 1 : 0
}
})
.success(function (data, status, headers, config) {
// success logic here
})
.error(function (data, status, headers, config) {
// error logic here
});
};
您可以像其他答案所建议的那样,在该函数中定义
.success
和.error
回调,但我觉得您更可能希望调用$save
的应用程序代码来确定成功或失败时要做什么
因此,您可以保持$save
函数不变,在应用程序中调用myUserSession.$save()
的任何地方,您都可以执行以下操作:
myUserSession.$save()
.success(function(data, httpStatus, header, config) {
...
})
.error(function(data, httpStatus, header, config) {
...
});
这样做只会使代码更易于重用。当然,如果您知道关于save的一个事实,您希望在任何地方都有完全相同的行为,那么只需按照其他答案的建议进行操作。您可以像其他答案所建议的那样,在该函数中定义
.success
和.error
回调,但是我觉得,您更可能希望调用$save
的应用程序代码来确定成功或失败时要做什么
因此,您可以保持$save
函数不变,在应用程序中调用myUserSession.$save()
的任何地方,您都可以执行以下操作:
myUserSession.$save()
.success(function(data, httpStatus, header, config) {
...
})
.error(function(data, httpStatus, header, config) {
...
});
这样做只会使代码更易于重用。当然,如果你知道一个关于储蓄的事实,你希望在任何地方都有完全相同的行为,那么就按照其他答案的建议去做吧