如何取消已使用本机 javascript 发起的 AJAX 请求

How do I cancel an AJAX request that has already been initiated using native javascript

本文关键字:javascript 本机 请求 AJAX 何取消 取消      更新时间:2023-09-26

有人可以告诉我如何取消本机javacript中的Ajax请求并使用相同的本机JavaScript来取消请求。

的目标是提供一个我正在编写的带有后台任务的脚本,以检查请求是否已在特定时间内完成,如果没有,则取消请求,如果它仍在等待。

所以我看到的所有脚本都被标记为Javascript,但实际上是JQuery,我对此一点也不感兴趣,并且宁愿编写自己的方法而不使用我不感兴趣使用的东西。

因此,非常感谢一点帮助。

所以我使用这样的命令

xmlHTTP.cancel();

xmlHTTP.kill();

我知道 JQuery 已经中止,但这是本机命令的别名,因此指针将不胜感激。

abort() - 它在文档中。

我建议你使用jQuery并使用jQuery.ajax方法来初始化XHR Call。您可以使用中止方法来终止现有的 XHR 调用。

var xhr = null;
if (xhr != null) {
    xhr.abort();    //If xhr is not null then abort before init new XHR call
}
var xhr = jQuery.ajax({
        cache: false,
        url: "http://www.example.org/ajax.php",
        dataType: "json",
        data: {
            param1: "",
            param2: ""
        },
        type: "POST",
        crossDomain: true,
        beforeSend: function (jqXHR, settings) {
            //TODO
        },
        success: function (data) {
            //TODO
        },
        error: function (jqXHR, textStatus, errorThrown) {
            //TODO
        },
        complete: function (jqXHR, textStatus) {
            //TODO
            xhr = null;    //nulify xhr once we finish XHR call
        }
    });