2013-10-16 17 views
8

問題があります。私は.then関数.sucssessと.errorを使って$ http呼び出しをしようとしています。私は非既存のものにリクエストのURLを変更するもののしかし、それは常に大成功ハンドラを実行している:

$http.get('data/myjson.json').then(onSuccess, onError); 

onSuccess(data){}; 
onError(data){}; 

はまた、データパラメータは、失敗を示す、404のステータスを持っていますが、onErrorメソッドは決して得ませんでした実行する。

これは実際にどのように動作するのか説明できる体もありますか?

ありがとうございました!

+0

使用している角度のバージョンは何? –

+0

私は角度1.0.7を使用しています。 – user2887964

答えて

12

このコードは、私の作品:

$http.get('data/myjson.json').then(onSuccess, onError); 

function onSuccess(data) { 
} 
function onError(data) { 
} 
+0

こんにちはマヌエル、あなたの答えをありがとう。要求に間違ったURLを使用したときにonError関数が実行されましたか?成功した場合、私のコードが動作し、問題はエラー処理です – user2887964

+0

エラー処理ではどういう意味ですか?あなたはエラーを処理するためにどんな反応を得ますか? –

+0

私は間違ったURL(例えばdataaaa/myjson.com)を入れてみると、onErrorを実行したいのですが、onSuccesが代わりに実行されています – user2887964

2
$http.get(url).then(onSuccess, onerror); 
    function onSuccess(response) { 
    //Success message here... 
            } 
    function onerror(data) { 

       if(data.status==404) { 
        alert('Invalid URl') 
          return; 
       } 

    } 

ちょうどこれを試してみてください...

1

どちらの方法がNG約束エラー処理のために使用することができます: -

まず:

$http.get('data/myjson.json') 
.success(successHandler) 
.error(errorHandler) 

function successHandler(data) { 
} 
function errorHandler(data) { 
} 

第二:

$http.get('data/myjson.json').then(successHandler, errorHandler); 

function successHandler(data) { 
} 
function errorHandler(data) { 
}  
関連する問題