我想讓我的網站在 ajax 仍然收到回應時保持加載狀態,然后當 ajax 成功時,網站應該停止加載。
“仍在加載進度”表示您瀏覽器的選項卡進度條符號保持可見并旋轉,表明網站仍在加載。
請幫助我,我沒有想法。這絕對是一個有各種解決方案的初學者問題。
HTML 檔案的源代碼如下:
<!DOCTYPE html>
<html>
<body>
<pre id="response">This will be the response...</pre>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script>
try {
$.ajax({
'url': 'https://example.com',
'type': 'GET',
'success': function (data) {
//I want to only finish loading the page after this is executed
document.getElementById("response").textContent = data;
} });
} catch(err) {
document.getElementById("response").textContent = err.message;
}
</script>
</body>
</html>
我上面的當前代碼發生的事情是我的網站已經完成加載(選項卡中已經沒有可見的旋轉符號),即使 ajax 中的成功功能仍未執行,或者換句話說,仍在等待來自 ajax 的回應。
預先感謝您回答我的問題:)
uj5u.com熱心網友回復:
AJAX 呼叫是異步的,因此從瀏覽器的角度來看,它們無法阻止網頁加載。一旦到達 HTML/JS 腳本的末尾,瀏覽器將停止在選項卡中顯示“加載”符號,這在您的代碼中是由于異步 AJAX。
一些快速的谷歌搜索使我找到了有關可以傳遞給 jQuery AJAX 的設??置的檔案:https : //api.jquery.com/jQuery.ajax/。這說明 AJAX 有一個用于進行同步呼叫的設定 ( async: false)。但我相信這并不是真正推薦的,因為 AJAX 和任何從前端進行的 REST 呼叫都是異步的,而不是阻止瀏覽器。但如果這是您的要求,這可能會奏效。:)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/393874.html
標籤:javascript html 查询 阿贾克斯 脚本
下一篇:懸停時的過渡
