2010-12-11 26 views
0

我在处理异步触发的Ajax请求时遇到问题,现在正在后端进行处理。我已经展示了一个div来显示请求的状态。但是,如果请求数量超过100,浏览器将冻结,并且chrome会引发对话框等待或终止页面。如果我一直在等待,它最终会给我想要的结果,但还有什么其他方式可以解决这个问题。如何避免在后面处理数百个AJAX请求时悬挂页面?

我的代码示例在这里是 这只是一个示例函数,类似于需要。

$('a').each(function(){ 
    $.get($(this).attr('href'),function(data){ 
     $('body').append(data); 
    }); 
}); 

任何形式的帮助表示赞赏。

+4

100个并发的ajax请求将给大多数浏览器带来挑战。有什么办法可以将请求分组吗?你能返回结构化的json数据吗? – rcravens 2010-12-11 12:57:06

回答

1

100要求?这是一个可怕的设计,导致需要更多的流量到您的服务器。此外,不保证请求会按您拨打电话的顺序返回。这些调用可以呈现为1,2,3,4,8,7,6,5,10。

什么是查杀浏览器不是Ajax调用,它一遍又一遍地写入DOM。所以你需要重新考虑追加(数据)行。