【问题标题】:Handling Jquery Promise on AJAX call that returns data在返回数据的 AJAX 调用上处理 Jquery Promise
【发布时间】:2012-11-28 00:43:07
【问题描述】:

希望有一个关于 jQuery AJAX 调用的数据处理示例。我的 AJAX 调用运行 php 代码,如果不成功则返回 -1。迄今为止,我必须忽略 ajax 代码的返回承诺,而是创建并返回一个新的延迟对象,该对象根据返回数据解决或失败....出于某种原因,我怀疑有一种方法可以实现这一点更少的开销。当前样本为:

   send_Data = function(send_data) {
      var dfd = $.Deferred();
      $.post(sendData.php", send_data), function(data) {
      })
      .success(function(data) {if(data==-1) dfd.fail();
                              } else {dfd.resolve(data);}
      .error(function(e){log_error()})
      return  dfd.promise();
   }

有什么建议吗?

【问题讨论】:

    标签: ajax jquery-deferred


    【解决方案1】:

    您在提供的示例中犯了一些错误。这是我的 2 美分帮助

     myAjax = {
     ,dfd = $.Deferred();
    ,ajax: function () { $.ajax({
                                 url: 'connectorURL'
                                ,type: "POST"
                                ,data: {
                                        ExpectedVariable: YouRDataVariable,                 
                                }
                                ,success: function(data){
                                if(data == '-1') {
                                    this.dfd.fail();
                                    } else {
                                    this.dfd.resolve(data);
                                    }
                                ,error: function(){
                                console.log('connector error',arguments);
                                    }
                            });
                        }
    }
    
    $(document).ready(function(){
        myAjax.ajax();                         
    });
    

    【讨论】:

      猜你喜欢
      • 2011-04-14
      • 2012-11-25
      • 2016-03-11
      • 2013-10-04
      • 1970-01-01
      • 1970-01-01
      • 2013-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多