如果服务器响应错误,如何保持打开编辑模式? 现在,当我单击提交并将数据发送到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'});
});
};
答案 0 :(得分:0)
如果有人需要帮助,我会解决此问题。 Thnx to @ckosloski(github)。
您需要在onaftersave方法中返回一个字符串值:
如果您需要在写入本地模型后在服务器上发送数据,那么您应该定义表格onaftersave。 表格onaftersave的结果对下一步也很重要:
字符串:表单不会关闭(例如服务器错误) 不是字符串:表格将被关闭
这是我的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';
});
};