2011-11-14 7 views
5

私はここまで奇妙なことがあります。私は私のサーバー(codeigniterバックエンド)に通常の$ .ajax呼び出しをしていますが、リソースが見つからない場合は、404ヘッダーとともにエラーメッセージを返します。 jQueryはエラーが発生したことを認識し、適切なエラーコールバックを実行します。問題は、ブラウザにjs例外がスローされるため、firebugが(ブラウザが使用しているjsコンソールに)不平を言うことです。これは新しい行動ですか? 404ヘッダーが返されたときにjsエラーをスローするjqueryを思い出しません。以下の関連コード:

$.extend({ 
    gallery: function (url, data) { 
     //send a request to an arbitrary url with some data. Expects to 
     //get json returned. 
     return $.ajax(State.url + url, $.extend({ 
      dataType: 'json', 
      type: 'post' 
     }, data)); 
    } 
}); 

上記は私のアプリケーションで使用する私のグローバルなajax関数です。私はその関数でさまざまなフレーバーを使用しようとしましたが、役に立たないのですが、私はいつもjaエラーをファイヤーバグで投げます。何か案は?実際のjsエラーは次のとおりです。

NetworkError: 404 Not Found 
+0

State.urlとは何ですか? –

+0

ええ、JS例外をスローするのは変です。あなたはいつも 'try {} catch {}'でそれをラップすることができますが、私はそれをするべきではないと思っています... – mpen

+0

は、エラーがどのように処理されているかの例を見るのが好奇妙です。私はあなたが.ajax呼び出しで "エラー"パラメータを使用していると仮定しています(提供されたコードは拡張子です、正しい?)。また、状況コードを使用して404を捕まえることもできますが、おそらくすべてのステータスコードを1つずつ管理する必要はありません。 –

答えて

2

これはコンソールの機能であり、jQueryの問題はありません。あなたのコンソールのオプションを試してみてください。 Google ChromeでもXHRが失敗したかどうかなどがわかります。

P.S:使用されていない火薬。しかし、そこには何かしかないはずです。

+0

あなたはNishchayが正しいです、それは火かき棒の特定の設定でした。ありがとう! – Greg

関連する問題