我目前得到了下面的代码,它将运行一堆ajax请求(40-50),然后再做一遍。 (所以做他们永远本质上)更好的方式来持续运行ajax请求?
代码:
$(document).ready(function() {
window.setInterval(function() {
$('div.env').each(function (index, item) {
var vm = $(item).text();
var env = "http://localhost:56656/HTML" + vm + ".htm";
$.ajax(env, {
async: false,
URL: env,
type: "GET",
dataType: "html",
success: function (data) {
//alert("Colouring");
var style = $(data).filter('div').attr('style');
var styleObj = {};
$.each(style.split(';'), function() {
var rule = this.split(':');
styleObj[$.trim(rule[0])] = $.trim(rule[1]);
});
$(item).css('background', styleObj.background);
},
error: function() {
$(item).css('background', '#f00');
}
});
});
}, 10000);
});
正如你所看到的,我目前使用的正在运行的IE浏览器,并偶尔运行在Chrome慢特别慢超时。当我说慢,我的意思是所有的Ajax请求将完成,然后屏幕将刷新与更新。这一直是IE浏览器的情况,偶尔也会出现Chrome浏览器。理想情况下,我希望ajax能够执行请求,更新然后执行下一个ajax请求。
任何更好的方式来不断地做AJAX请求?
谢谢你在前进, 詹姆斯
请求返回的数据是什么? – 2012-07-10 14:13:13
编辑:请求将返回一个小的HTML页面,只有一个div。 – 2012-07-10 14:19:50
40-50?你不能把它们组合成一个请求吗? – 2012-07-10 14:20:27