私は現在、一連のajaxリクエスト(40-50)を実行し、それらすべてを再度実行する次のコードを取得しています。(したがって、本質的に永遠にそれらを行います)
コード:
$(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リクエストを継続的に行うためのより良い方法はありますか?
よろしくお願いします、ジェームス