2017-05-10 1 views
1

サーバーの応答がエラーの場合は開いたままにする方法は? 送信をクリックしてAPIにデータを送信すると、フォームが自動的に閉じますが、サーバーの応答が成功すれば編集モードを終了し、エラーの場合は応答が開いたままにします。ありがとうございます角度xeditable - サーバーが400を返した場合に編集モードを開いたままにする方法

<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

こんにちは、私を助けることができる人は誰ですか? – Arter

答えて

0

私はこれを助ける必要がある場合にこれを修正します。 @kosloski(github)へのThnx。

あなたはonaftersaveメソッドで文字列値を返す必要があります:あなたは、あなたがフォームのonaftersaveを定義する必要がありますローカルモデルに書いた後、サーバー上のデータを送信する必要がある場合

。 フォームのonaftersaveの結果は、次のステップのためにも重要である:

文字列:フォームは ない文字列(例えば、サーバーエラー)閉じません:フォームは

を閉鎖します。これは、

$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'; 
      }); 
    }; 
私CTRLです
関連する問題