我在使用带有jquery的xml时遇到了问题。
这是页面上生成的xml :( firebug copy pasteted)
<?xml version="1.0" encoding="utf-8" ?>
<product cookie="The red">
<timediff>01:09:46</timediff>
<username>denis</username>
<price>25</price>
</product>
<product cookie="The red">
<timediff>01:09:46</timediff>
<username>denis</username>
<price>35</price>
</product>
在身体负荷上,调用适当的功能。
jquery代码在这里:
$(document).ready(function() {
$.ajax({
type: "GET",
url: "ajax",
dataType: "xml",
success: parseXml
});
});
}
function parseXml(xml)
{
$("#timer2").html("Hey there");
$(xml).find("product").each(function()
{
$("#timer2").html("Hey there");
});
}
parseXml函数中没有任何内容正在运行。我认为它被调用了但它找不到#timer2(也许是因为xml是通过php文件输出的?)。我在体内有div id =“timer”。
编辑:不确定它是否重要,但网址“ajax”是导致此文件的路径(使用框架):
ajaxSuccess.php
<?php
echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
//time, username, price, id (so jquery can know what to change)
foreach($acs as $auction) {
echo "\n<product", " cookie=\"The red\">\n";
echo " <timediff>", $auction['time'], "</timediff>\n";
echo " <username>", $auction['username'], "</username>\n";
echo " <price>", $auction['price'], "</price>\n";
echo "</product>\n";
}
?>
答案 0 :(得分:1)
您的XML格式错误且无法解析:XML文档必须只有一个文档元素。将您的产品元素嵌入另一个元素:
<products>
<product cookie="The red">
<timediff>01:09:46</timediff>
<username>denis</username>
<price>25</price>
</product>
<product cookie="The red">
<timediff>01:09:46</timediff>
<username>denis</username>
<price>35</price>
</product>
</products>
答案 1 :(得分:1)
您需要提供页面标记的相关位,以便任何人完全排除故障。您还需要一个有效的XML文件:那里没有根元素,您只需直接进入两个product
节点。
如果parseXml
找不到标识为timer2
的元素,那么显然它已经死了 - 提供XML的php文件不应该以任何我能看到的方式影响这个
我对你上次的陈述感到有些困惑。你说你的页面中有一个id为timer
的div,但我不知道它是如何相关的:你试图在这个片段中操作timer2
。或者我在这里遗漏了什么?