2011-06-27 63 views
0

我在使用xml和jquery時遇到問題。jquery不能使用xml

這是在網頁上產生的XML:(螢火蟲複製粘貼)

<?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代碼是在這裏:在parseXml功能

$(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"); 
     }); 
} 

沒有什麼工作。我認爲它被調用,但它找不到#timer2(也許這是因爲xml是通過一個PHP文件輸出?)。我有正文中的div id =「timer」。

編輯:不知道,如果是很重要的,但是URL 「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

我假設你的URL不是_actually_被設置爲「ajax」,那只是你的文章的模擬信息? –

+0

我忘了提及我正在使用一個框架,所以這是一個通往php文件ajaxSucces.php的路線。 – Tool

回答

1

您需要提供頁面標記的相關位以供任何人完全解決。您還需要一個有效的XML文件:其中沒有根元素,您只需直接進入兩個product節點。

如果parseXml無法找到ID爲timer2的元素,那麼顯然它已經死在水中 - 提供XML的php文件不應該以任何方式影響到我所看到的。

我對你最後的陳述有點困惑。你說你的頁面上有一個div,其編號爲timer,但我不明白這是相關的:你試圖在這段代碼中操作的是timer2。或者我在這裏錯過了什麼?

+0

對不起,timer2。我現在將修復XML並回復,謝謝你回覆:)。 – Tool

+0

是的,XML修復了它。謝謝你們兩位! – Tool

+0

非常好,謝謝你讓我們知道。 – Ben

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>