我使用下面的jquery ajax請求。成功時,「ajaxRenderSuccess」函數可能會持續500毫秒到1200毫秒,因此在運行此函數之前,我突出顯示了我的用戶界面(一種進度條)中的新步驟:我只從上一步中移除ui-state-highlight類「renderingPhase」),並將其添加到最後一步(「outputPhase」)。Jquery ajax成功刷新內容問題
所有工作如預期,除了我從來沒有看到我的outputPhase突出顯示,即使ajaxRenderSuccess函數持續超過1秒:它似乎絕對要執行整個「成功」ajax事件之前刷新頁面?
如果我顯示警報(「輸出相位強調」)只是在addClass和ajaxRenderSuccess調用之間見風使舵,然後它的最後一步是正確突出...
它是一個已知的問題,和/或一個正常的行爲?我能做些什麼來強制在這個「成功」的jquery事件中刷新顯示?
謝謝!
var self = this;
jQuery.ajax({
type: "POST",
url: renderingURL,
contentType:"text/html; charset=UTF-8",
success: function (respJSON){
jQuery("#"+self.request.namespace+"renderingPhase").removeClass('ui-state-highlight');
jQuery("#"+self.request.namespace+"outputPhase").addClass('ui-state-highlight');
self.ajaxRenderSuccess(respJSON);
}
}
感謝您的建議。我嘗試了console.log(jQuery(「#」+ self.request.namespace +「outputPhase」)),它返回了預期的outputPhase按鈕,這不是選擇器問題,因爲如果我使用警報框暫時我的按鈕被正確突出顯示。我沒有在Chrome控制檯或螢火蟲中看到任何錯誤 – Dominique