AJAX错误的回应

时间:2009-11-23 10:22:06

标签: jquery ajax

我在我们的Java项目中使用jQuery,并使用3个AJAX请求来刷新3列。问题是如果您在收到响应之前单击某些内容,有时其中一个JSP意味着在特定DIV中返回响应,则会覆盖整个页面并将其作为新页面返回。我使用AJAX Queue插件,它应该取消队列中的请求,但我认为它不起作用..

我在队列中做了3次这个AJAX请求:

$('#col<%=col%>')
    .html("<div style='float: left; width: 100%'><img src='css/ajax-loader2.gif' /></div>");
var url='CoreFetchCategoryHandler.jsp';
ajaxManager.add({
    success: function(html) {
        $('#col<%=col%>').html(html);
    },
    type: "POST",
    url: url,
    data: "<%=baseString%><%=keywordsString%>category=<%=columnnCategory%>&showItems=30",
    cache: true,
    error: function(a, b) {},
    abort: function() {
        $.manageAjax.clear("cacheQueue", true)
    }
});

有人可以帮我这个吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

我建议您使用Queue插件更多地控制您的请求,而不是(或同样?)。

查看ajaxStart()ajaxStop()ajaxComplete()函数。一旦启动Ajax请求(使用ajaxStart()),可能会在必要时设置一个标志,您可以在加载或刷新其他列的数据之前进行检查。每当AJAX请求开始并且没有活动时,就会触发此事件。使用此方法,您可以启用或禁用单击事件或附加到它们的DOM元素,以便用户必须等到Ajax请求完成后才能启动下一个请求。

同样,只要所有AJAX请求结束,ajaxStop()函数就会触发。这样,您可以更精细地控制数据的加载顺序。