Ext.Ajax.Request 如何将response.responseText作为函数返回值返回?

需求:希望在一个公共函数中实现与后台交互,然后将从后台获取的数据作为函数返回值返回

方案:

由于我的Extjs版本是3.4,所以无法使用Ext.lib.Ajax.getConnectionObject(),这个排除。

 function ajaxSearch(callback,partNumber,partName){      //callback是回调函数,partNumber和partName是传到后台查询的参数
      Ext.Ajax.request({  
                url: '../../hwdispatcher/ajaxSearchMaterial',  
               params: {partNumber:partNumber,partName:partName},  
               success: function(response){  
                  var res = Ext.decode(response.responseText);                        
                  callback(res.material);
              },  
              failure:function(response){  
                          Ext.Msg.alert("failure",response.status);
                 } 
 
     });  
}

调用方式一:
var myCallback = function(m){
   alert(m); //m是ajaxSearch的查询结果,可以在这里写余下的逻辑代码
}

ajaxSearch(myCallback,partNumber,partName);
 
调用方式二:
ajaxSearch(function(m){
      alert(m);
},partNumber,partName);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章