我在我的网页中有以下Ajax代码。它基本上对数据库进行Ajax调用并返回一堆记录。 此代码在Firefox中运行速度很快,但在IE中速度很慢。 我只是想知道是否有任何方法来优化此代码的IE浏览器。ajax在IE中调用非常慢
代码
var fill_test_table = function(data){
var tr;
for (var i=0; i < data.length; i++) {
tr=$('<tr/>');
tr.append("<td>" + widget[i].name + "</td>");
tr.append("<td>" + widget[i].age + "</td>");
tr.append("<td>" + widget[i].status + "</td>");
tr.append("<a href='widget.html?id=" + widget[i].id + "&age=" + widget[i].age + "&status=" + widget[i].status + "&name=" + widget[i].name.replace("'","%27") + "'</a><button>Edit</button> </td>");
$("#widget_table").append(tr);
}
$("#widget_table").append("</tbody>");
};
$(document).ready (function() {
$.ajax({
url: "/cgi-bin/getwdigets",
dataType: "json",
success: function(data) {
fill_test_table(data);
}
});
})
我发现下面的职位jQuery Ajax call very slow in IE, but instant in Firefox并试图执行一些提出的建议。但是如果有什么明显的问题需要解决,我想知道。
您可以使用一个'.append()',它将添加整个HTML,而不是'.append()'吨。这应该会加快速度。 – Regent
高度怀疑它是Ajax调用,它是你的循环很慢。不要追加每一行!建立一个字符串中的所有行/单元格并追加一次。 – epascarello
也''(“#widget_table”)。append(“”);'没有意义 – epascarello