jQuery弃用通知jqxhr.success() 我最近在jQuery网站上看到了一个弃用通知。

jQuery弃用通知jqxhr.success() 我最近在jQuery网站上看到了一个弃用通知。,jquery,Jquery,弃用通知:jqXHR.success()、jqXHR.error()和 jqXHR.complete()回调在jQuery1.8中将被弃用。到 使用jqXHR.done()为最终删除代码做好准备, jqXHR.fail()和jqXHR.always() 我目前的编码如下: $.ajax({ url: '...', success: function(){ alert('AJAX successful'); } }); 我计划使用jQuery1.8+ 我是否应该将succe

弃用通知:jqXHR.success()、jqXHR.error()和 jqXHR.complete()回调在jQuery1.8中将被弃用。到 使用jqXHR.done()为最终删除代码做好准备, jqXHR.fail()和jqXHR.always()


我目前的编码如下:

$.ajax({
  url: '...',
  success: function(){
    alert('AJAX successful');
  }
});
我计划使用jQuery1.8+

我是否应该将
success
键更改为
done

$.ajax({
      url: '...',
      done: function(){
        alert('AJAX successful');
      }
    });

?例如,如果您有以下任何一项:

$.ajax({url: '...'}).success(function(){
    alert('AJAX successful');
});
$.ajax({url: '...'}).error(function(){
    alert('AJAX ERROR');
});
$.ajax({url: '...'}).complete(function(){
    alert('AJAX complete');
});
您必须将其更改为:

$.ajax({url: '...'}).done(function(){
    alert('AJAX successful');
});
$.ajax({url: '...'}).fail(function(){
    alert('AJAX ERROR');
});
$.ajax({url: '...'}).always(function(){
    alert('AJAX complete');
});

我知道这是一个老生常谈的问题,jQuery 1.8早就问世了——但为了帮助像我这样的谷歌用户将古老的应用程序升级到3.0,我想我应该插话澄清一下

这在jQuery 1.8+版本中有效:

$.ajax({
    url: "/api/endpoint",
    type: "POST",
    data: myData,
    success: function(json){
        console.log("success");
        console.log(json);
    },
    error: function(jqxhr){
        console.log("failure");
        console.log(jqxhr.responseText);                    
    }
});
这在jQuery 1.8+版本中无效。它已在3.0中删除:

var promise = $.ajax({
    url: "/api/endpoint",
    data: myData,
    method: "POST"
});
                    
promise.success(function(json){
    console.log("function not defined!"); // same for .error and .complete
});

请参阅@Devisioner的答案或以了解如何解释此问题。您只需分别重命名为
done()
fail()
always()
,或者按照我的第一个代码块重写代码。

否。这些是内部选项,可以正常工作。弃用通知是针对jqXHR回调方法的。谢谢。我将删除这个问题,否则这将对某人有用??我想某人可能会觉得它有用…谢谢你的回答。然而,很难理解为什么
.always
.complete
的替代品。(从意义上讲)