Javascript 如果ajax请求需要一段时间,我如何中止它?

Javascript 如果ajax请求需要一段时间,我如何中止它?,javascript,jquery,ajax,algorithm,performance,Javascript,Jquery,Ajax,Algorithm,Performance,这是我的密码: $("input").on('keydown', function(){ $.ajax({ url : '/files/tags_autocomplete.php', dataType : 'JSON', success : function (tags) { $("ul").html(tags.output); } }); }); 它工作得很好,一切都很好。只是有时候ta

这是我的密码:

$("input").on('keydown', function(){
    $.ajax({
        url :  '/files/tags_autocomplete.php',
        dataType : 'JSON',
        success : function (tags) {
            $("ul").html(tags.output);
        }
    });
});
它工作得很好,一切都很好。只是有时候
tags\u autocomplete.php
会在8秒后返回一个响应(这太多了),或者有时候它完全失败了,不会返回响应


无论如何,我想做一个
出错的
机制,它应该在发送ajax请求4秒后运行。如何执行此操作?

您可以指定超时

您可以在超时后捕获错误

$("input").on('keydown', function(){
    $.ajax({
        url :  '/files/tags_autocomplete.php',
        dataType : 'JSON',
        success : function (tags) {
            $("ul").html(tags.output);
        },
        error : function (jqXHR, textStatus, errorThrown) {

        },
        timeout: 4000
    });
});

文档

您可以指定超时

您可以在超时后捕获错误

$("input").on('keydown', function(){
    $.ajax({
        url :  '/files/tags_autocomplete.php',
        dataType : 'JSON',
        success : function (tags) {
            $("ul").html(tags.output);
        },
        error : function (jqXHR, textStatus, errorThrown) {

        },
        timeout: 4000
    });
});

文档

可能重复@chiliNUT虽然可能有效,但超时更合适。这将是一个更好的复制品:@chiliNUT的可能复制品的可能复制品虽然这可能有效,但超时将是一个更好的选择。这将是一个更好的复制:井的可能复制我需要知道何时执行
timeout
。因为我必须显示一个弹出窗口包含“出错”消息。执行
timeout
时如何执行?@MartinAJ超时时将使用
fail
error
回调。@MartinAJ超时时,从错误处理函数调用函数以显示警报或其他信息message@trevster344
失败
错误
完全相同?我需要知道何时执行
超时
。因为我必须显示一个弹出窗口包含“出错”消息。执行
timeout
时如何执行?@MartinAJ当超时时,将使用
fail
error
回调。@MartinAJ当超时时,从错误处理函数调用函数以显示警报或其他信息message@trevster344
失败
错误
完全相同吗?