1

如果服务器响应错误,如何保持打开编辑模式?现在,当我单击提交并将数据发送到 API 时,我的表单会自动关闭,但我只想在服务器响应成功时关闭编辑模式,如果响应错误则保持打开状态。谢谢

<form editable-form name="tableform" onaftersave="saveTableConfig()" oncancel="cancel()">
<span editable-textarea="currentKlupa.description" e-name="description" e-
rows="3">Text</span>
</form>

$scope.saveTableConfig = function () {
        var config = {
            headers: {
                'Content-Type': 'application/xml',
                'X-HTTP-Method-Override': 'PUT'
            }
        };

        var configCopy = angular.copy($scope.currentConfig);

        $http.post(serviceBase + 'cd/saa/' + $stateParams.aaaID + '/config', configCopy, config)
                .success(function (data, status, headers, config) {
                    Notification.success({message: $filter('translate')('BENCH_EDITED_SUCCESSFULLY'), delay: 3000, positionY: 'bottom', positionX: 'right'});
                })
                .error(function (data, status, header, config) {
                    Notification.error({message: $filter('translate')('BENCH_EDITED_ERROR'), positionY: 'bottom', positionX: 'right'});
                });

    };
4

1 回答 1

0

如果有人需要帮助,我会解决这个问题。感谢@ckosloski(github)。

您需要在 onaftersave 方法中返回一个字符串值:

如果您需要在写入本地模型后在服务器上发送数据,那么您应该定义表单的 onaftersave。表单的 onaftersave 的结果对于下一步也很重要:

string:表单不会关闭(例如服务器错误) not string:表单将被关闭

这是我的 ctrl

 $scope.saveTableConfig = function () {
        var config = {
            headers: {
                'Content-Type': 'application/xml',
                'X-HTTP-Method-Override': 'PUT'
            }
        };

        var configA = angular.copy($scope.currentConfig);

        return $http.post(serviceBase + 'nnnn/config', configA, config)
                .then(function (response) {
                  //your code
                })
                .catch(function (error) {
                    //your code
               return 'return string';
            });
    };
于 2017-05-22T14:40:52.103 回答