您能推迟jQuery1.5中的ajax设置吗?

您能推迟jQuery1.5中的ajax设置吗?,jquery,ajax,Jquery,Ajax,我有类似的东西 $.ajaxSetup({ cache: false }); 我想知道你能像做$.ajax一样做ajax设置吗 var jqxhr = $.ajax({ url: "example.php" }) .success(function() { alert("success"); }) .error(function() { alert("error"); }) .complete(function() { alert("compl

我有类似的东西

 $.ajaxSetup({
        cache: false
    });
我想知道你能像做$.ajax一样做ajax设置吗

var jqxhr = $.ajax({ url: "example.php" })
    .success(function() { alert("success"); })
    .error(function() { alert("error"); })
    .complete(function() { alert("complete"); });
我能做什么

 var a =    $.ajaxSetup({
            cache: false
        })
然后


我还没有机会尝试解决这个问题。一旦我有几分钟的时间,我会尝试这个,但如果有人知道这也会很好。我在文档中也没有看到任何内容。

据我所知,
AjaxSetup(…)
根据您的选择修改
jQuery.AjaxSettings
对象。这样你就可以写作了

 jQuery.ajaxSettings.cache=false
达到同样的效果


更多细节可以在这里找到:

AFAIK,不,您将无法做到这一点-与jqueryv1.5不同,它不是一个。所以你会得到一个错误,说这个对象没有方法

如果您试图做的是设置每个
.ajax()
调用发生的事情(
.ajaxSetup()
为所有
.ajax()
调用设置默认值)。您可以访问全局ajax回调,如:

  • 如果您想对所有ajax调用执行操作,您的目标是什么?您还可以访问所有回调参数:

    .ajaxError(事件、XMLHttpRequest、ajaxOptions、thrownError)


    后续评论的更新:

    根据:

    注意:全局回调函数应 与各自的全球 Ajax事件处理程序 方法:, , 相当地 而不是在对象的选项中

    因此,似乎没有像1.5中添加的回调那样的状态代码的全局处理程序。然而,同样根据:

    如果请求成功,则 状态代码函数采用相同的 参数作为成功回调;如果 这会导致一个错误,他们采取 与错误回调相同的参数

    因此,我认为,你可以使用例如:

    $('body').ajaxSuccess(function(e, xhr, settings) {
        if (xhr.status == "200")
            alert("Your call to: '"+settings.url+"' was a success (status code: "+xhr.status+")");
    });
    
    $('body').ajaxError(function(e, xhr, settings) {
        if (xhr.status == "401")
            alert("You are not logged into the remote page!");
        if (xhr.status == "404")
            alert("The remote page could not be found: '"+settings.url+"'(status code: "+xhr.status+")");
    });
    

    查看“它显示一个成功和一个不成功的
    .ajax()
    调用-显示本地和全局操作,包括处理不同的状态码。

    请先试用!您将如何执行状态代码?我尝试了$.ajaxStatusCode,但似乎不起作用。尝试时出现错误。添加的全局范围中似乎缺少状态代码。但这只是访问状态代码的一种方便方式,它可以用于成功和错误-您只需了解如何使用它。看看更新,看看这是否对你有帮助。
    $('body').ajaxSuccess(function(e, xhr, settings) {
        if (xhr.status == "200")
            alert("Your call to: '"+settings.url+"' was a success (status code: "+xhr.status+")");
    });
    
    $('body').ajaxError(function(e, xhr, settings) {
        if (xhr.status == "401")
            alert("You are not logged into the remote page!");
        if (xhr.status == "404")
            alert("The remote page could not be found: '"+settings.url+"'(status code: "+xhr.status+")");
    });