一尘不染

获取最新的ajax请求并中止其他人

ajax

我一直在搜索,这个问题似乎很简单,但是找不到答案。我有多个请求调用了不同的网址。但是对于每个网址,我只想要一次结果,并且它必须是被调用的同一网址中的最后一个。我现在的问题是“如何只获得最后一个?”
我看着这个,看来已经3岁了:

http://plugins.jquery.com/project/ajaxqueue

还有其他方法可以很好地干净地执行此操作吗?如果有这样的事情,那将是完美的:

queue: "getuserprofile",
cancelExisting: true

(其中getuserprofile队列中现有的ajax将被取消)

谢谢


阅读 209

收藏
2020-07-26

共1个答案

一尘不染

这说明了)如何使用jQuery进行ajax调用以及如何中止它。您需要做的就是创建一个存储每个请求的数组。然后,您可以在添加新请求的同时取消上一个请求。

ajaxRequests = new Array();

queueRequest = function() {
    if(ajaxRequests[ajaxRequests.length - 1]) {
        ajaxRequests[ajaxRequests.length - 1].abort();
    }

    ajaxRequests[ajaxRequests.length] = //Insert New jQuery AJAX call here.
}
2020-07-26