如何从Ext.Ajax.request获取价值

时间:2012-11-09 11:02:09

标签: extjs

Ext.Ajax.request({
   url:'abc/abc/abc',
   success:  function(response){
      var result = Ext.decode(response.responseText);
      var value=result.roles;
   }
});

如何从ext.ajax.request获取“value = result.roles”?

我正在尝试使用某个动作。

Ext.Ajax.request({
   url:'abc/abc/abc',
   success: function(response){
      var result = Ext.decode(response.responseText);
      var value=result.roles;
      getValue(value);                    
   }
});

function getValue(value) {
   return value;
};

但我仍然无法获得价值。

我该怎么做?

3 个答案:

答案 0 :(得分:9)

你需要使用它:

success: function ( result, request ) {
                      var jsonData = Ext.util.JSON.decode(result.responseText);
                      var resultMessage = jsonData.data.result;
                     fn_AKExt(resultMessage, ‘Success’);
               },
failure: function ( result, request ) {
                   var jsonData = Ext.util.JSON.decode(result.responseText);
                  var resultMessage = jsonData.data.result;
                  fn_AKExt(resultMessage, ‘Error’);
}

查看How To Use Ext.Ajax.Request With Response Text了解详情。

答案 1 :(得分:1)

$.ajax({
async: false, 
type: "GET",
url :"url", 
data :"",  
success:(data){ 
functionOutSideAjax(parameter);   
}  
});
functionOutSideAjax(var){  
useThisVar = parameter;  
}

在ajax响应之外创建你的函数()然后从你的ajax响应中传递所需的值,然后你可以在javascript文件中的任何地方使用“useThisVar”..

答案 2 :(得分:-1)

通常,AJAX请求是异步的。这就是为什么我们没有从请求中获取价值的原因。如果我们设置async:false,那么我们就可以得到值。

var cnt;
Ext.Ajax.request({
    method: 'POST',
    async:false,
    url: '...',
    params: {},
    success: function (response) {
        var cnt= Ext.decode(response.responseText);
    }
});
return cnt;