javascript - AngularJS 在 API 回调后恢复表单

标签 javascript angularjs api rest angularjs-ng-resource

在我的代码中,我有一个带有 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/

相关文章:

javascript - AngularJS ng- View 不工作

javascript - 从 node.js 参数未定义的 GET 请求中获取数据

javascript - 为什么这个 node.js + mongoose 代码不保存到数据库中?

javascript - angular.copy 无法复制对象

javascript - angularjs 复选框显示/隐藏框

ios - 有没有简单的 API 创建方法?

c++ - z3 获取符号变量 C++ API 的大小

javascript - 使用 Razor 设置 javascript 变量

javascript - 如果函数不使用任何 I/O,NodeJS 异步函数的目的是什么?

javascript - 使用:visible variable to target only those items