在我的代码中,我有一个带有 ng.resource 的工厂:
.factory('company', function($resource){
return $resource(appHelper.apiPath('auth/company/info'), {}, {
update: {
method: "PUT"
}
});
});
如果我在 Controller 中提交表单,只要 api 给出积极响应,一切都会正常工作。 如果出现错误,API 将返回一个带有 http 200 的 json 对象。在我的回调函数中,我验证响应:
$scope.saveCompanyForm = function (company) {
company.$update(
function(data) {
if(data.status == 'ERROR') {
alert("error from api")
} else {
alert("no error")
}
}, function(error) {
alert("error")
}
问题是如果 api 返回错误,表单就会被清除。 如果 API 响应为 http 500 或 http 404,则表单不会被清除。 有没有可能阻止 Angular 重置表单? 谢谢 最好的
最佳答案
您始终可以在回调之前保存并在回调之后应用。
$scope.saveCompanyForm = function (company) {
var saved_company = company;
company.$update(
function(data) {
if(data.status == 'ERROR') {
alert("error from api")
company = saved_company;
} else {
alert("no error")
company = saved_company;
}
}, function(error) {
alert("error")
company = saved_company;
}
关于javascript - AngularJS 在 API 回调后恢复表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38615941/