1

希望有一个关于 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();
   }

有什么建议么?

4

1 回答 1

0

您在提供的示例中犯了一些错误。这是我的 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();                         
});
于 2012-11-30T16:58:28.717 回答