Ajax请求成功变量范围

Ajax请求成功变量范围,ajax,extjs,Ajax,Extjs,我在Ext.Ajax.request的成功中起到了作用。我需要这个函数返回一个带有JSON存储的变量。 我的代码是: gridplatos.getStore().each(function(r){ var store; Ext.Ajax.request({ params:{ grado: r.get('grado'), menudiario: r.get('menudiario'), plato: r.get('plato'), t

我在Ext.Ajax.request的成功中起到了作用。我需要这个函数返回一个带有JSON存储的变量。 我的代码是:

gridplatos.getStore().each(function(r){
  var store;
  Ext.Ajax.request({
    params:{
      grado: r.get('grado'),
      menudiario: r.get('menudiario'),
      plato: r.get('plato'),
      transCode: Ext.getCmp('transCode').getValue()
    },
    url: 'src/Drivers/AlumnosPlatoArmado/',
    method: 'GET',
    success: function(response,store){
      store = Ext.create('KMA.store.AlumnosPlatoArmado',{}).load();
    }
  });
  console.log(store);
}

但是,console.log(store)返回“undefined”。有什么想法吗?

这是因为ajax是一个异步函数调用,这意味着一旦请求发送到服务器,客户端将继续执行以下语句,而不等待服务器响应

在您的情况下,ajax请求被发送到
src/Drivers/AlumnosPlatoArmado/
,然后在服务器响应返回
console.log(store)之前在该时间点执行
存储
的值为
未定义
。ajax请求成功完成后,将调用注册的成功处理程序,您将在其中设置
store
的值


在异步执行环境中,对异步方法返回的值执行的所有操作必须仅在注册的回调方法中执行。

您想对存储执行什么操作,如果您能给出问题的完整上下文,我们可以尝试使用一个存储(a)刷新其他存储(B)。但是现在我需要创建一个包含两个存储的txt文件。示例:“A中的行-B中的行-A中的行-表格B…”