更新:以下のコメントストリームを参照してください.jQueryとは関係ありません。サーバー上のファイルアクセス権の問題です。
オリジナルの答え:
ブラウザからすべてのエラーを取得していますか?たとえば、ChromeやSafariでは、Devツールを開いてConsoleタブを見ると、エラーが表示されますか?またはFirefoxでFirebugをインストールし、Firebugのコンソールにチェックインしてください。またはIEでは、VS.Netの無料版を使用してください...何かについて何か不平を言っているはずです。
またerror
機能を提供ではなく、成功を仮定することによって、コード自体からより多くの情報を得ることができます。
jQuery.ajax({
async:false,
type:'GET',
url:script,
data:null,
success:callback,
dataType:'script',
error: function(xhr, textStatus, errorThrown) {
// Look at the `textStatus` and/or `errorThrown` properties.
}
});
更新:あなたはtextStatus
=「エラー」とerrorThrown
=未定義を参照してください言いました。非常に奇妙な。 同じスクリプトを移動してサブパスにない場合は動作しますか?サブパスが赤いニシンなのか疑問に思っています。実際の問題はスクリプトの構文エラーです。
オフトピック:それは本当には同期する必要がありますか?表示されるシンボルを投票することはできませんか?同期のAjaxリクエストが実際にゴミ箱になっているだけです。多くのブラウザでは、自分のページだけでなく、すべてページがリクエスト中にロックされます。ここで
は私がポーリングによって何を意味するかです:私は、JavaScriptから非同期的にjQueryをロードしたいとします
function loadScript(url, symbol, callback) {
var script, expire;
// Already there?
if (window[symbol]) {
setTimeout(function() {
callback('already loaded');
}, 0);
}
// Determine when to give up
expire = new Date().getTime() + 20000; // 20 seconds
// Load the script
script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
document.body.appendChild(script);
// Start looking for the symbol to appear, yielding as
// briefly as the browser will let us.
setTimeout(lookForSymbol, 0);
// Our symbol-checking function
function lookForSymbol() {
if (window[symbol]) {
// There's the symbol, we're done
callback('success');
}
else if (new Date().getTime() > expire) {
// Timed out, tell the callback
callback('timeout');
}
else {
// Schedule the next check
setTimeout(lookForSymbol, 100);
}
}
}
使用法:
// Load jQuery:
loadScript("path/to/jquery.min.js", "jQuery", function(result) {
// Look at 'result'
});
誤差関数 - textStatusが「エラー」に設定し、errorThrownがあるさ:あなたは再び非同期呼び出しが必要な場合は、ただでそれを有効に
未定義。 – Alex
@Alex:確かに非常に奇妙です。ところで、私は巨大なオフトピックのコメントを追加しました。 :-)あなたの実際の問題を再現しますか?同じスクリプト**は、サブパスにないように移動すると動作しますか?サブパスが赤いニシンなのか疑問に思っています。実際の問題はスクリプトの構文エラーです。 –
Firebugが助けてくれました。403エラーのためリクエストが失敗しました!私は私のUbuntuにインストールされているローカルサーバー上にいる、私はこれを解決する方法を知らない? 私は、読み込まれたスクリプトと、$ .getScript(script_url、function_from_the_loaded_script())で関数を実行したいと思います。それはうまくいかなかった。 – Alex