【问题标题】:Deprecation of success Parameter in jQuery.ajax?在 jQuery.ajax 中弃用成功参数?
【发布时间】:2013-03-27 02:43:47
【问题描述】:

今天听说 jQuery.ajax 函数中的 success-Parameter 已弃用。我是否理解正确?还是我误会了什么?

例如,这在未来将不起作用:

 $.ajax({

            url: 'ax_comment.php',              
            type: 'POST',
            data: 'mode=view&note_id='+noteid+'&open='+open+'&hash='+hash,
            success: function(a) {
            ...

            }   

    });

我必须用这个?

$.ajax({

            url: 'ax_comment.php',

            type: 'POST',
            data: 'mode=view&note_id='+noteid+'&open='+open+'&hash='+hash,
            success: function(a) {
            ...

            }   

    }).done(function(a){.....};

来源:http://api.jquery.com/jQuery.ajax/(向下滚动至弃用通知

【问题讨论】:

  • 是的..你需要使用.done() Jquery 仍然有这个功能,直到他们决定拔掉插头:)
  • 参数没有被弃用,成功的方法是。您可以继续使用success: function仔细阅读。

标签: jquery ajax


【解决方案1】:

有区别,Ajax成功回调方法

$.ajax({}).success(function(){...});

和Ajax成功本地回调事件(即Ajax参数和属性):

$.ajax({
    success: function(){...}
});

成功回调方法(第一个示例)已被弃用。但是,成功的本地事件(第二个示例)不是。

本地事件是 Ajax 属性(即参数)。 jQuery 文档进一步解释了local event 是一个回调,您可以在 Ajax 请求对象中订阅它

所以在未来,你可以这样做:

$.ajax({}).done(function(){...});

$.ajax({
    success: function(){...}
});

【讨论】:

    【解决方案2】:

    是的,它在 jQuery 1.8 之后被弃用了。您应该使用.done() 并使用.fail() 来捕获错误。

    $.ajax({
        url: 'URL',
        type: 'POST',
        data: { // Your Data },
        datatype: 'json'
    })
    .done(function (data) { // AJAX Success })
    .fail(function (jqXHR, textStatus, errorThrown) { // AJAX Failure });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-14
      • 1970-01-01
      • 2016-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-30
      相关资源
      最近更新 更多