2013-05-16 11 views
22

docsには何も分かりません。AngularJS:ngResourceで成功とエラーコールバックを処理する方法は?

REST enpointは、私は

$scope.delete = function(index) { 
    Transaction.delete({transactionId: $scope.transactions[index].uuid}) 
     .success('transaction deleted'); 
    }; 

を以下に上記を変更し、エラー

$scope.delete = function(index) { 
    Transaction.delete({transactionId: $scope.transactions[index].uuid})  
    }; 

をスローする可能性があります。しかし、それは

TypeError: Object #<Resource> has no method 'success' 
    at Object.TransactionController.$scope.delete (http://localhost:5000/static/app/js/controllers/transactionController.js:26:8) 
    at http://localhost:5000/static/app/lib/angular/angular.js:6094:36 

がどのように私はsuccesserrorシナリオを処理することができます失敗しましたか?

P.S. JavaScriptが初めての場合

+0

'delete'メソッドの呼び出しにコールバック関数を追加し、それが動作するかどうかを確認してください。 – akonsu

答えて

33

あなたは(あなたがリソースを使用しているかに応じて、次の形式を使用して、成功にエラーコールバックを渡すことができます

  • HTTP GET "クラス" アクション:Resource.action([パラメータ]、[成功]、[エラー])
  • 非GET "クラス" アクション:リソースdocs)から取られました。アクション([パラメータ]、POSTDATA、[成功]、[エラー])
  • 非GETインスタンスアクション:インスタンス$アクション([パラメータ]、[成功]、[エラー])

あなたの例は、と似ています。 「クラス」アクションを取得し、このようになります:

Transaction.delete({transactionId: $scope.transactions[index].uuid}, 
    function(successResult) { 
     // do something on success 
    }, function(errorResult) { 
     // do something on error 
     if(errorResult.status === 404) {    
     } 
    } 

Hereが失敗したGETリソースに関する関連する質問です。

4

成功と失敗のコールバック関数を引数として渡します。

HTTP GET "クラス" アクション:Resource.action([パラメータ]、[成功]、 [エラー])
非GET「クラスリンクしたドキュメントから

Transaction.delete({transactionId: $scope.transactions[index].uuid}, 
        function(data) { 
         // success 
        }, function(e) { 
         // failure 
        }); 

「アクション:Resource.action([パラメータ]、 POSTDATA、[成功]、[エラー])

+0

「e」のデータタイプは何ですか? – OMGPOP

+0

@OMGPOP:オブジェクトにエラー情報が含まれています – Envil

関連する問題