5
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;
};

但我仍然无法获得价值。

我怎样才能做到这一点?

4

3 回答 3

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’);
}

查看如何使用带有响应文本的 Ext.Ajax.Request了解更多详细信息。

于 2012-11-09T11:04:09.867 回答
1
$.ajax({
async: false, 
type: "GET",
url :"url", 
data :"",  
success:(data){ 
functionOutSideAjax(parameter);   
}  
});
functionOutSideAjax(var){  
useThisVar = parameter;  
}

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

于 2013-03-16T08:27:19.673 回答
-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;
于 2016-07-18T09:22:18.557 回答