关于Jquery ajax成功的内容刷新问题

时间:2011-12-06 10:17:50

标签: jquery ajax

我使用下面的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);
       }
      }

1 个答案:

答案 0 :(得分:0)

这个功能看起来很完美,所以选择器可能有问题。

尝试做

console.log(jQuery( "#"+self.request.namespace+"outputPhase" ));  

并查看是否在firebug(或类似)中正确选择了元素。

可以是标签中的class =而不是id =,但上述日志会告诉您这是否是问题。同时保持调试器窗口打开任何错误