2012-04-19 14 views
2

$ .getScript()で、最初のjsスクリプトが何らかの理由で読み込まれなかった場合に条件を作成できますか?バックアップのように?

これをjQuery 1.2または1.4で動作させる方法はありますか?

ありがとうございます!

答えて

3

jQuery 1.5以上を使用している場合、$ .getScript()はPromiseを返します。したがって、成功と失敗の両方に関数を追加できます。

$.getScript("ajax/test.js") 
.done(function(script, textStatus) { 
    console.log(textStatus); 
}) 
.fail(function(jqxhr, settings, exception) { 
    $("div.log").text("Triggered ajaxError handler."); 
}); 

あなたは()の呼び出しを.fail関数内で別の$ .getScriptを()を実行できない理由はありません:彼らは、彼らがそうのように失敗に添え彼らのドキュメントに例を示しました。

1

これについてドキュメントを読んだことがありますか?ただ依存しない、pratically

$("div.log").ajaxError(function(e, jqxhr, settings, exception) { 
    if (settings.dataType=='script') { 
    $(this).text("Triggered ajaxError handler."); 
    } 
}); 

以上:それはあなたがグローバルAjaxのエラーを使用して、以前よりも)(

$.getScript("ajax/test.js") 
.done(function(script, textStatus) { 
    console.log(textStatus); 
}) 
.fail(function(jqxhr, settings, exception) { 
    $("div.log").text("Triggered ajaxError handler."); 
}); 

を.fail使用することができ、jQueryの1.5のように、非常に明確ですとにかく、.ajax fnを使用してください:

$.ajax({ 
    url: url, 
    dataType: "script", 
    success: success, 
    error:function(){ 
    //load the second script here 
    } 
}); 
関連する問題