キーテイクアウト
- jQueryエラー管理は、FirebugやFirequeryなどのツールを使用して改善できます。 alert()やconsole.log()などのJavaScript関数を使用して、コードの実行と値を追跡します。トライ/キャッチブロックを使用して、コードの潜在的なエラーを処理します。
- jQueryのajax関数を使用して、データが返されない場合などの一般的なエラーを処理できます。これは、サーバーとの通信エラーをajaxコール処理するエラー関数を使用します。さらに、カスタムAJAXエラー関数を作成して、タイムアウト、解析エラー、HTTPエラーなどの特定のタイプのエラーを処理することができます。
jQueryは、バインディングエラーイベントのための.error()および.ajaxerror()メソッド、ajaxまたは繰延オブジェクト拒絶の処理のための.fail()方法、予測不可能なコードでエラーをキャッチするためのtry-catchステートメントなど、エラーを処理するためのいくつかの方法を提供します。ただし、.error()のようなこれらの方法のいくつかは、新しいjqueryバージョンでは使用できません。-
わかりました、だから私は皆さんがFirebugとFirequeryについて知っていると思います。これらの投稿があなたを助けるかもしれません。 FireBugには、以前のJavaScriptの悪夢を耐えられるものにすることができる多くの強力なツールがあります。
firebug - のセットアップ方法
Firequeryを使用してGoogleロゴを変更します-
そのため、ユーザーがエラーが表示されないようにするだけでなく、スクリプトを開発するときにも役立つように、これらのエラーをよりよく管理したいと考えています。
alert()
//alert() shows values in a popup window
alert("js is working");
console.log()
//console.log() shows values in the firebug console window
var x = ... etc
console.log(x);
try/catch
を試してください
//try catch example 1
try {
$("#user").focus();
} catch(err){
return false;
}
//try catch example 2
try {
var tmp = doSomething();
if (tmp == something.errorCondition)
throw new Error("Error condition in X");
} catch(err) {
//handle ((err && err.message) || err.toString())
}
//try catch example 3
try {
// code that may cause an error
} catch (e) {
// deal with error (or not)
}
// code that runs whether or not error occurred
firebug
に表示するためにエラーをオーバーライドする
jquery.errorをオーバーライドすることもできます。
jQuery
jQuery.error = console.error;
jQuery停止エラーディスプレイ
jQueryイベントハンドラーを使用する場合は、window.onerrorの組み合わせを使用して、jqueryイベントハンドラーコードをラッピングし、エラー処理機能を使用して準備ができています。
window.onerror:IEのすべてのエラー(およびFirefoxのほとんどのエラー)をキャッチしますが、SafariとOperaでは何もしません。
- jQueryイベントハンドラー:すべてのブラウザでjQueryイベントエラーをキャッチします。
- jQuery対応機能:すべてのブラウザで初期化エラーをキャッチします。
-
jqueryエラーのタイプ(共通エラー)
一般的なエラーは、AJAXがデータを返さない場合です。これは、エラーメッセージを追加することで処理できます。AJAX連絡フォームの次の例を参照してください。
$( "#createcontact")。クリック(function(){//クリックイベントハンドラーをボタンに添付します
$("#createContact").click(function () { //Attach a click event handler to the button
var form = $("form"); //Grab the form element from the DOM
$.ajax({
type: "POST", //The type of HTTP verb (post, get, etc)
url: form.attr( "action" ), //The URL from the form element where the AJAX request will be sent
data: form.serialize(), //All the data from the form serialized
dataType: "json", //The type of response to expect from the server
success: function ( data, statusCode, xhr ) { //Triggered after a successful response from server
if ( data && data.Message ) {
alert( data.Message );
}
},
error: function ( xhr, errorType, exception ) { //Triggered if an error communicating with server
var errorMessage = exception || xhr.statusText; //If exception null, then default to xhr.statusText
alert( "There was an error creating your contact: " errorMessage );
}
});
return false; //Ignore the default behavior of the button click
});
[code lang="php"]
便利なajaxキャッチエラー関数
function ajaxerror(request
function ajaxError(request, type, errorThrown)
{
var message = "There was an error with the AJAX request.n";
switch (type) {
case 'timeout':
message = "The request timed out.";
break;
case 'notmodified':
message = "The request was not modified but was not retrieved from the cache.";
break;
case 'parseerror':
message = "XML/Json format is bad.";
break;
default:
message = "HTTP Error (" request.status " " request.statusText ").";
}
message = "n";
alert(message);
}
http://www.bennadel.com/blog/1392
- jqueryエラー管理に関するよくある質問(FAQ)
.error()メソッドを使用してjqueryのエラーを処理するにはどうすればよいですか?イベントハンドラーを「エラー」JavaScriptイベントにバインドします。この方法は、画像の読み込みエラーを扱うときに特に役立ちます。ただし、この方法はjquery 3.0で削除されており、古いバージョンでのみ利用可能であることに注意することが重要です。新しいバージョンの場合、.on()メソッドを使用してエラーイベントをバインドできます。任意の要素に添付できますが、通常はドキュメントに添付されます。この方法は、グローバルなエラー処理で非常に役立ちます。たとえば、AJAX要求が失敗したときにメッセージを表示することができます。それを使用して、コードのブロックを「試して」し、発生するエラーを「キャッチ」することができます。これは、例外をスローする可能性のある予測不可能なコードを扱う場合に特に役立ちます。基本的な例は次のとおりです。 ajaxエラー。 StatusCodeオプションを使用して、特定のHTTPステータスコードのコールバック関数を定義できます。たとえば、このような404ステータスコード(見つかりません)のコールバックを定義できます。 .fail()jquery?
.fail()メソッドのエラー処理方法は、延期されたオブジェクトが拒否されたときに実行されるコールバック関数です。エラーを処理するために、.ajax()メソッドと組み合わせてよく使用されます。基本的な例は次のとおりです。 .error()メソッドは、エラーが発生したときに呼び出されるイベントハンドラーであり、.fail()メソッドは、繰延オブジェクトが拒否されたときに呼び出されるコールバック関数です。 .error()メソッドは通常、画像読み込みエラーの処理に使用されますが、.fail()メソッドはajaxエラーの処理によく使用されます。拒否された。 .done()メソッドは、延期されたオブジェクトが解決されたとき(つまり、操作が成功したとき)に呼び出されますが、繰延オブジェクトが解決または拒否されたかどうかに関係なく.always()メソッドは呼び出されます。これらの方法は、成功とエラーのシナリオを処理するために.ajax()メソッドと組み合わせて使用できます。 Try-Catchステートメントを使用して、これらのエラーを処理できます。基本的な例は次のとおりです。 .ajax()メソッドのタイムアウトオプションを使用して処理されます。このオプションは、リクエストのタイムアウト(ミリ秒単位)を設定します。リクエストがこの時間よりも時間がかかる場合、それは中止され、.fail()メソッドが呼び出されます。基本的な例は次のとおりです。プラグイン?
jQueryプラグインでのエラー処理は、特定のプラグインに依存するため、少し難しい場合があります。ただし、一般的なアプローチでは、トライキャッチステートメントを使用して、プラグインのコードで発生するエラーをキャッチすることです。プラグインがajaxまたは繰延オブジェクトを使用する場合、.error()または.fail()メソッドを使用することもできます。