gpt4 book ai didi

javascript - jQuery 缓存 XML

转载 作者:行者123 更新时间:2023-11-29 22:42:41 24 4
gpt4 key购买 nike

我正在尝试创建一个作品集网站,其中我的作品位于一个 XML 文件中。我想将 XML DOM 存储在一个 JavaScript 变量中,这样我就可以访问它而无需在每次用户单击以加载新片段时调用服务器。

现在我有:

$(document).ready( function() {
xml = getXML();
});

function getXML() {
var data = $.ajax({
url: '_lib/xml/portfolio.xml',
dataType: 'xml',
success: function(data) { return data; }
});
return data;
}

在使用 Firebug 时,如果我在“成功:”之后的匿名函数中“console.log(data)”,它会记录一个“文档”。如果我在“$(document).ready...”中“console.log(xml)”,它会记录一个 XMLHTTPRequest,我无法访问 XML 文档的 DOM。

我试过返回“data.responseXML”,但没有任何效果。我也试过在“成功:”之后调用一个非匿名函数并在那里记录 XML,它仍然作为我需要的“文档”出现。

问题似乎是在我返回 XML 时出现的——它从“Document”变为“XMLHTTPRequest”。

任何帮助将不胜感激。谢谢!

最佳答案

试试这个:

function getXML() {
var XML = null;
$.ajax({
url: '_lib/xml/portfolio.xml',
dataType: 'xml',
async: false,
success: function(data) {
XML = data;
}
});
return XML;
}

我不知道 '$.ajax' 会返回什么,但我已经尝试过与您的类似的方法,但它从未奏效。所以上面的代码就是我所接受的。

编辑 只是想强调您必须在 ajax 请求中包含“async: false”。

希望这对您有所帮助。

关于javascript - jQuery 缓存 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1582453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com