我使用下面的jquery ajax请求。成功时,“ajaxRenderSuccess”功能可能会持续500ms到1200ms,因此在运行此功能之前,我会突出显示我的UI中的一个新步骤(一种进度条):我只是删除上一步中的ui-state-highlight类( “renderingPhase”),并将其添加到最后一步(“outputPhase”)。
所有工作都按预期工作,除非我从未看到我的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);
}
}
答案 0 :(得分:0)
这个功能看起来很完美,所以选择器可能有问题。
尝试做
console.log(jQuery( "#"+self.request.namespace+"outputPhase" ));
并查看是否在firebug(或类似)中正确选择了元素。
可以是标签中的class =而不是id =,但上述日志会告诉您这是否是问题。同时保持调试器窗口打开任何错误