我有一个数据库,我在其中使用 php 按 ID 随机化信息并通过 xml 发送出去。我的问题是我只想获取 xml 一次并将其存储以用于至少 2 个函数...一个运行 onload 的函数以获取 xml 的第一行,另一个将在每次按下按钮时运行以访问下一行 xml 直到结束。我的 2 个函数是 loadfirst() 和 loadnext()。loadfirst() 完美运行,但我不确定如何将 xml 数据传递给 loadnext()。现在我只是在页面加载上使用 loadfirst() 并在按钮按下时使用 loadfirst(),但我最终每次都从数据库中创建新的 xml,这会导致随机化问题并且效率极低。任何帮助,将不胜感激。
var places;
var i = 0;
function loadXML(){
downloadUrl("places.php", function(data){
places = data.responseXML;
getFeatured(i);
});
}
function getFeatured(index){
var id = places[index].getAttribute("id");
var name = places[index].getAttribute("name");
var location = places[index].getAttribute("location");
var imgpath = places[index].getAttribute("imgpath");
var tags = places[index].getAttribute("tags");
}
function getPrev() {
i--;
getFeatured(i);
}
function getNext() {
i++;
getFeatured(i);
}
function downloadUrl(url, callback) {
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;
request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request, request.status);
}
};
request.open('GET', url, true);
request.send(null);
}
function doNothing() {}
loadnext() 将与 loadfirst() 非常相似,我只是遇到了传递 xml 数据的问题,这样我就可以使用它而无需再次访问数据库。谢谢。