gpt4 book ai didi

javascript - 将变量传递给 jQuery AJAX

转载 作者:行者123 更新时间:2023-11-29 20:23:08 24 4
gpt4 key购买 nike

我陷入了困境。我希望有人能提供帮助。

基本上,我正在使用 jQuery 构建一个 AJAX 移动网络应用程序。我能够很好地解析特定的 XML 文件,但我希望能够根据单击的链接解析其他 XML 文件,并将它们动态加载到相同的 DIV 或 UL 中。

所以:

点击 Link1,加载 XML1
单击 Link2,加载 XML2

我希望能够在所有客户端执行此操作,因此不需要 PHP(或者这是个坏主意?)。这是我一直在使用的 jquery 代码:

$(document).ready(function() {          

$("a.load_ajax").click(loadAjax());

function loadAjax() {
var fileID = get('?lineID=');

var dataID = "xml/" + fileID + ".xml"

$.ajax({
type: "GET",
url: dataID,
dataType: "xml",
success: parseXml
});

function parseXml(xml) {
$(xml).find("train").each(function() {
$("ul#ajax-output").append('<li>' + $(this).find("time").text() + '</li>');
});
}
}

});

它根本不起作用。我一直在 url 中使用 GET 传递变量。所以 HTML 中的链接转到/?lineID=SBD_to_Union 并且它应该加载名为 SBD_to_Union.xml 的 XML 文件

对任何人都有意义吗?我会很感激一些帮助。

最佳答案

您似乎正在努力解决的问题是从 anchor 中的 url 获取行。使用 $(this) 获取被点击链接的 href 属性。然后,如果 url 如所描述的那样,您可以使用正则表达式删除除行 id 以外的所有内容,以用于构建 XML 的链接。我假设 XML 是服务器端的并且相对于当前的 url。如果不是,则需要调整路径。我冒昧地通过将函数内联来压缩一些东西。 编辑:点击处理程序应返回 false 以防止链接实际执行其默认操作。

$(function() {          

$("a.load_ajax").click( function() {
var fileID = $(this).attr('href').replace(/.*?lineID=/,'');

var dataID = "xml/" + fileID + ".xml"

$.ajax({
type: "GET",
url: dataID,
dataType: "xml",
success: function(xml) {
$(xml).find("train").each(function() {
$("ul#ajax-output").append('<li>' + $(this).find("time").text() + '</li>');
});
}
});
return false;
});
});

关于javascript - 将变量传递给 jQuery AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2917706/

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