0

在我的代码中,我使用 ajax 请求从 javascript 调用 servlet。Servlet 数据显示在成功功能的消息框中。但它没有加载到 javascript 中的变量 myData 中。来自 servlet 的数据是 json 格式。请帮我。这是我的代码。

var myData=null;
Ext.Ajax.request({
    url: 'MyDataServlet',
    method:'GET',
    loadMask: true,
    scope: this,
    success: 
    function ( result, request ) { 
      Ext.MessageBox.alert('success', result.responseText); 
       myData =Ext.decode(result.responseText);
       console.log(myData);
       store.loadData(myData);

    },
    failure: 
        function ( result, request) { 
            Ext.MessageBox.alert('Failed', result.responseText); 
    } 
});
4

1 回答 1

0

“AJAX”中的第一个“A”代表“异步”,这意味着应用程序流程在服务器发回响应之前继续进行(我认为“一发不可收拾”是一个有用的类比)。在您的情况下,myData仅在响应到达后分配,您不能假设其余代码在此之前执行。无论你想做什么myData,你都需要从success回调中调用它。

于 2013-09-19T09:16:00.377 回答