docs はそれについての考えを与えません。
REST
enpointがエラーをスローする場合がある
$scope.delete = function(index) {
Transaction.delete({transactionId: $scope.transactions[index].uuid})
};
上記を以下に変更しました
$scope.delete = function(index) {
Transaction.delete({transactionId: $scope.transactions[index].uuid})
.success('transaction deleted');
};
しかし失敗する
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
success
およびerror
シナリオをどのように処理できますか?
追伸JavaScriptは初めてです
リソースの使用方法に応じて、次の形式を使用して成功したエラーコールバックを渡すことができます( docs から取得):
- HTTP GET「クラス」アクション:Resource.action([parameters]、[success]、[error])
- 非GET「クラス」アクション:Resource.action([parameters]、postData、[success]、[error])
- 非GETインスタンスアクション:instance。$ action([parameters]、[success]、[error])
あなたの例はnon-get "class"アクションに似ており、次のようになります。
Transaction.delete({transactionId: $scope.transactions[index].uuid},
function(successResult) {
// do something on success
}, function(errorResult) {
// do something on error
if(errorResult.status === 404) {
}
}
ここ は、失敗したGETリソースに関する関連質問です。
成功および失敗のコールバック関数を引数として渡します。
Transaction.delete({transactionId: $scope.transactions[index].uuid},
function(data) {
// success
}, function(e) {
// failure
});
リンクしたドキュメントから:
HTTP GET「クラス」アクション:Resource.action([parameters]、[success]、[error])
GET以外の「クラス」アクション:Resource.action([parameters]、postData、[success]、[error])