jQuery弃用通知jqxhr.success()
我最近在jQuery网站上看到了弃用通知。
弃用注意:jQuery 1.8中不推荐使用jqXHR.success(),jqXHR.error()和jqXHR.complete()回调。 要准备最终删除的代码,请改用jqXHR.done(),jqXHR.fail()和jqXHR.always()。
我目前的编码如下:
$.ajax({ url: '...', success: function(){ alert('AJAX successful'); } });
我打算使用jQuery 1.8+
我应该将success
密钥更改为:
$.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的Google员工,我想我会想要澄清一下。
这在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 });
有关如何解释此问题,请参阅@ DevIshOne的答案或jQuery AJAX文档 。 您只需要分别重命名为done()
, fail()
和always()
,或者按照我的第一个代码块重写代码。