2011-03-10 70 views
0

我正在使用类似以下的东西等待ajax请求在javascript中完成。这适用于IE和Firefox,但这不适用于Chrome。我真的没有选择使用jQuery API,因为我使用的自动化工具仅支持执行纯Java脚本。有什么我在这里失踪?在Chrome中等待AJAX​​完成

while(count!=0) 
    count = jQuery.active; 

感谢, -Nilesh

+0

这是不明确的 - 你用jQuery标记了这个,但是你说你没有任何选择使用jQuery,但是你的代码示例**没有使用jQuery ... – Pointy 2011-03-10 17:20:17

+3

无论如何,“等待”像这样的紧密循环是一个绝对可怕的想法。你正在冻结用户的浏览器,甚至整个计算机。 – Pointy 2011-03-10 17:20:54

+0

代码引用没有上下文。什么是“数”,它是如何被使用的? – 2011-03-10 17:20:58

回答

1

正如其他人的评论所指出的,你的问题实在是没有意义的,但如果你正在寻找的东西开火时关闭一个Ajax请求完成,那么你需要设置回调函数。如果你需要做这个

$.get('your-url.html', function(data) { 

    // Your callback function. 
    // Any word you need done after the response 
    // has completed goes here. 

}); 

假设你正在使用jQuery(这是我无法从你的问题告诉我,你是或不是),那么你可以这样做在一篇文章中,然后查看jQuery的$.post甚至$.ajax文档。

如果你是而不是使用jQuery,那么你仍然可以使用vanilla JavaScript来实现这一点,但是你需要看看XHR对象顺序来确定你是否准备好触发回调。所有这些信息都在Mozilla Developer Center深入报道。

0
$.ajax({ 
    type : "GET",  
    url  : "url here", 
    success : function(html){ 
     complete(html); 
    } 
}); 

function complete(html){ 
    //do stuff when load complete here 
} 

不是一个非常明确的问题。但是这里是一个获得带有“完整”功能的ajax请求。