我有一个jQuery ajax函数来检索JSON数据。在成功块中,我调用另一个函数来解析数据并更新页面。在这个解析/更新函数结束时,会产生不同的ajax调用。除了Internet Explorer(7和8)以外,这在所有浏览器中都可以正常工作。问题是Internet Explorer认为脚本处理时间过长,因为第一个ajax调用的成功块在第二个Ajax调用完成之前并未完成。jQuery ajax成功链接Internet Explorer问题
我收到消息: “停止运行此脚本?此页面上的脚本导致您的Web浏览器运行缓慢,如果它继续运行,您的计算机可能无响应。
我的jQuery代码:
$("#id_select").bind("change", function(e){
$.ajax({
url: "/retrieve_data.js",
data: {id:$(e.target).children(":selected").attr("value")},
type: "get",
dataType:"json",
success: function(data, status, form){
processData(data);
},
error: function(response, status){
alert(response.responseText);
}
});
})
如何让IE停止超时或不重写我所有的jQuery函数来完成这项任务的任何建议,将不胜感激。
这是一个黑暗中的镜头,但是可能会将你的调用放到'setTimeout()'内部的'processData(data)'中(持续时间最短),这样'success'函数将立即返回?没有尝试过,但谁知道。 – user113716 2010-05-13 02:48:42
如果您可以发布processData的代码,可能会有帮助,因为它可能是问题的原因。 – 2010-05-13 03:24:28