1

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

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

所以我看到的所有脚本都被标记为 Javascript,但实际上是 JQuery,这是我根本不感兴趣的东西,我更愿意编写自己的方法而不使用我不感兴趣的东西。

所以一点点帮助表示赞赏。

我也使用类似的命令吗

xmlHTTP.cancel();

或者

xmlHTTP.kill();

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

4

2 回答 2

2

abort() - 它在文档中。

于 2013-10-06T00:38:40.863 回答
-2

我建议您使用 jQuery 并使用jQuery.ajax方法来初始化 XHR 调用。您可以使用 abort 方法来终止现有的 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
        }
    });
于 2013-10-06T00:43:34.593 回答