私はjax/htmlアプリケーションでajaxリクエストを送信してレスポンスを処理しています。デバイスはWindows Mobile CEです。jqueryサポートはなく、デバイスブラウザ(IE)はイベントハンドラをサポートしていないため、非同期呼び出しを使用することはできません。とにかく、私の問題は、イベントを送信する前に、を表示したいのですが、メッセージを待ってください。応答を受け取ったら、もう一度それを隠したいと思います。ajaxリクエストを送信して応答を受信(同期)
function sendRequest() {
// make please wait visible
document.getElementById("pleasewait").style.display = "block";
console.log("pleasewait visible.");
var XHR = new XMLHttpRequest();
// synch call
XHR.send(sendData);
// suppose it takes 20-30 seconds
console.log("response received :" + XHR.responseText);
XHR.open('POST', 'url', false);
// make please wait hidden
document.getElementById("pleasewait").style.display = "none";
}
しかし、私はそれを実行すると、PLEASEWAIT要素は、我々は(ない送信する前に)応答を受信したときに可視化されるとimmediatelty処理は、例えば20〜30秒かかる場合でも、再び非表示になります。コンソールメッセージは正しい順序で表示されますが、待機待ち要素は正しく更新されません。私はいくつかのsetTimeoutsを試しましたが、望ましい結果はありませんでした。 jsfiddleを追加することはできません。なぜなら、リモートでajaxリクエストハンドラを実装するのは難しいからです。 同期 AJAXリクエストを行うので、synchronous
要求が表示再流れを阻止するとき
Worked!ありがとう! – benchpresser