ajax怎么把数据保存在一个数组中然后获取
varCache={arrays:newArray(),data:function(){varxmlhttp=createAjax();xmlhttp.open("GET...
var Cache={
arrays: new Array(),
data: function(){
var xmlhttp=createAjax();
xmlhttp.open("GET","s.jsp",true);
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
var xmlData=xmlhttp.responseXML;
var title=xmlData.getElementsByTagName("title");
if(title==null) return;
for(var i=0;i<title.length;i++){
Cache.arrays.push(title[i].firstChild.nodeValue);
}
//alert(Cache.arrays);
}
else{
alert(xmlhttp.status);
}
}
};
xmlhttp.setRequestHeader("If-Modified-Since","0");
xmlhttp.send(null);
},
getData: function(){
alert(Cache.arrays);
}
};
首先建立一个类,然后保存在属性arrays里面,再用getData返回数组的数据,现在问题是getData时数组的数据还是为空,可能是回调函数还没有执行,怎么确保回调函数执行了getDate方法可以返回一个有数据的数组呢,比如我可以在外部用var a=Cache.getData()获取到ajax返回的数据,求教?谢谢 展开
arrays: new Array(),
data: function(){
var xmlhttp=createAjax();
xmlhttp.open("GET","s.jsp",true);
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
var xmlData=xmlhttp.responseXML;
var title=xmlData.getElementsByTagName("title");
if(title==null) return;
for(var i=0;i<title.length;i++){
Cache.arrays.push(title[i].firstChild.nodeValue);
}
//alert(Cache.arrays);
}
else{
alert(xmlhttp.status);
}
}
};
xmlhttp.setRequestHeader("If-Modified-Since","0");
xmlhttp.send(null);
},
getData: function(){
alert(Cache.arrays);
}
};
首先建立一个类,然后保存在属性arrays里面,再用getData返回数组的数据,现在问题是getData时数组的数据还是为空,可能是回调函数还没有执行,怎么确保回调函数执行了getDate方法可以返回一个有数据的数组呢,比如我可以在外部用var a=Cache.getData()获取到ajax返回的数据,求教?谢谢 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询