0
下面是我使用jQuery Ajax方法創建的Ajax代碼。如何顯示使用jquery ajax時立即加載消息?
$(".loading_msg").show();
$.ajax({
type: "POST",
url: "submit_ops.php?action=submit_form",
data: $("#frmMyForm").serialize(),
success: function(result){
if(result=='Success'){
$("#msgContainer").html('<div style="color:#3CA322;font-weight:bold;font-size:14px;padding:10px;">Thank you.</div>');
$("#msgContainer").fadeIn();
}
else{
$("#msgContainer").html('<div style="color:red;font-size:12px;padding:10px;">' + result + '</div>');
$("#msgContainer").fadeIn();
}
},
error: function(){
//console.log('error');
},
complete: function(){
//console.log('complete');
$(".loading_msg").hide();
$("#submit").attr("disabled", false);
}
});
所以邏輯,每當Ajax請求即將製成,
的.login_msg容器被顯示第一
然後AJAX調用作出
和當它完成時,.loading_msg再次被隱藏。
現在的問題是,它不能正常工作,因爲它應該是。因此,當進行ajax調用時,瀏覽器會掛起幾秒鐘,但不會顯示加載消息。但是,當請求完成時,登錄消息將顯示爲半秒鐘,然後消失,因爲我已根據請求完成將其設置爲隱藏。
所以我希望.login_msg應該顯示在請求之前。
對此有何建議?提前致謝。
還是一樣:( – aslamdoctor
嘗試示出裝載前序列化形式:'變種d = $( 「#frmMyForm」).serialize();'和然後在'$ .ajax'中設置數據形式就像'data:d',我認爲這會導致瀏覽器掛起並延遲顯示加載圖像。請記住,當加載動畫過於繁重時,可能會跳過或不是在調用'show()'後立即繪製 – TheVillageIdiot
發現了這個問題,我在使用async:false;它導致了這個問題,現在它解決了,因爲我刪除了該設置,謝謝你的努力@TheVillag eIdiot – aslamdoctor