在我的代码中,我使用ajax请求从javascript调用servlet。 Servlet数据显示在成功函数的messegebox中。但它没有加载到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);
}
});
答案 0 :(得分:0)
“AJAX”中的第一个“A”代表“异步”,这意味着应用程序流在服务器发回响应之前继续(我认为“fire and forget”是一个有用的类比)。
在您的情况下,myData
仅在响应到达后分配,并且不能假设其余代码在此之前执行。无论您要使用myData
做什么,都需要通过success
回调来调用它。