【问题标题】:Can you defer statusCode in jquery 1.5?你可以在 jquery 1.5 中推迟 statusCode 吗?
【发布时间】:2011-03-02 17:36:08
【问题描述】:

我看到他们为状态代码添加了一个功能

statusCode(添加 1.5)地图默认值:{} A 数字 HTTP 代码的映射和 时调用的函数 响应有相应的代码。 比如下面会提醒 当响应状态为 404 时:

$.ajax({   statusCode: {404: function() {
    alert('page not found');   } }); 

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

我想知道你能做类似$.ajax({...}).statusCode(function(){...});的事情

类似你怎么做

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

【问题讨论】:

    标签: jquery jquery-1.5


    【解决方案1】:

    是的,你可以。据我所知,该函数是未记录的,但该功能似乎与您所期望的完全一样——您传入处理函数的对象映射,其中键是 HTTP 响应代码,值是处理程序功能。 See the source code.

    示例

    $.ajax({ url: "example.php" })
        .statusCode({
            200: function(){
                alert('success');
            },
            404: function(){
                alert('not found');
            }
        });
    

    【讨论】:

    • 我猜你是否使用 .success 虽然这就像一个 200 响应,对吧?
    • @chobo2 success 将在状态码 error 处理程序将运行。 statusCode 允许更多粒度,如果你需要的话。
    • jQuery 1.5 不会触发 JSONP 给出的 400、401: 401: function(){ alert('not authorized'); }, 400: function(){ alert('bad request'); } 由于已知问题,似乎是这样。
    • @Mohammed 这样做是不可能的。 JSONP 通过将script 元素插入页面来工作:没有script 元素失败的编程通知。
    猜你喜欢
    • 1970-01-01
    • 2011-08-16
    • 2013-11-21
    • 2014-11-13
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    • 1970-01-01
    相关资源
    最近更新 更多