jquery不使用xml

时间:2011-06-27 15:57:27

标签: php jquery xml

我在使用带有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";


    }
?>

2 个答案:

答案 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。或者我在这里遗漏了什么?