私はAJAXコールを作成しています。これは同期的なので、コンテンツが読み込まれている間は「ハング」します。 AJAX呼び出しの前に、私は、着信コンテンツの親ノード間もなく-ことにプリロード画像を追加します。AJAXコールの前にプリロードをロード
function makePreLoader(parentNode)
{
var img = document.createElement("img");
img.src = "images/preloader.gif";
parentNode.appendChild(img);
}
function getData()
{
var parentNode = document.getElementById("myParentNode");
makePreloader(parentNode);
$.ajax(
"http://www.example.com/",
{
success: function(resp)
{
$(parentNode).html(resp);
},
async: false
}
);
}
example.comでの私のスクリプトは7秒をハングアップする簡単なPHPスクリプトであるとし、「完了の返信"
私は 'getData'を呼び出すとき、予負荷画像のロードを確認してから、「done」に置き換えてください。
実際の動作は、コールがハングする(プリローダーを追加していないことが明らかです)、コンテンツを読み込みます。
誰も同様の問題がありましたか?誰かが良い解決策を推奨できますか?
同期AJAX呼び出しを使用する理由はいくつかあります。たとえば、特定のユーザーに対してファットクライアントを初期化する場合、初期化はユーザー固有のデータによって異なります。 代わりに、setTimeout/returnを使用してAJAX応答をポーリングして初期化を遅延させ、初期化の依存部分を再起動します。これにより、ポーリングに伴うオーバーヘッドが大幅に軽減されます(ミリ秒までのタイムアウトの解像度を制御できるため)。 – KeatsKelleher