【发布时间】:2011-12-06 10:17:50
【问题描述】:
我使用下面的 jquery ajax 请求。成功后,“ajaxRenderSuccess”函数可能会持续 500 毫秒到 1200 毫秒,因此在运行此函数之前,我会在我的 UI 中突出显示一个新步骤(一种进度条):我只是从上一步中删除 ui-state-highlight 类( “renderingPhase”),并将其添加到最后一步(“outputPhase”)。
一切都按预期工作,除了我从未看到我的 outputPhase 突出显示,即使 ajaxRenderSuccess 函数持续超过 1 秒:似乎它绝对希望在刷新页面之前执行整个“成功”ajax 事件?
如果我在 addClass 和 ajaxRenderSuccess 调用之间显示 alert('output phase highlight') 来临时化,那么它的工作原理是正确突出显示最后一步...
这是一个已知问题和/或正常行为吗?在这个“成功”的 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);
}
}
【问题讨论】: