2012-03-30 70 views
0

我正在使用YQL並且結果正在以XML返回,我沒有選擇Json,因爲我需要在YQL的Results標記下發出確切的html。 所以我給$ .Ajax打電話並獲取xml並在xml中找到「results」節點。Jquery解析包含html的原始轉儲XMl節點 - YQL

當我做一個警告或附加到一個div或一個html的身體,不知何故,似乎整個div和表的和Td的和Tr的越來越撕裂之前呈現。 我做了一個提醒仍然沒有看到完整的原始html。

$("#result").html("<i>Loading...</i>"); 
      $.ajax({ 
       type: "GET", 
       url: yql, 
       dataType: "xml", 
       success: function (xml) { 
        info = $(xml).find('results'); 
        alert(info.text()); 
        $("body").html(info.text()); 
       } 

我在這裏錯過了什麼。 用於覆蓋xml內部xml的CDATA在這裏不是一個選項,只是試圖渲染YQL提供的內容。

感謝

+0

任何人都遇到過這個問題。 – Rahul 2012-03-31 19:55:41

回答

1

我只是碰到了這個問題,並挖出了幾個解決方案。第一個和最簡單的是做這樣的:

$("#result").html("<i>Loading...</i>"); 
     $.ajax({ 
      type: "GET", 
      url: yql, 
      dataType: "html", 
      success: function (xml) { 
       info = $(xml).find('results').html(); 
       alert(info); 
       $("body").html(info); 
      } 

可以發現,這裏的(檢查應對的答案):How to use jquery get content with tags in xml

爲我工作的第二個解決方案是最好的說明如下:Getting HTML from XML with JavaScript/jQuery

+0

謝謝,真的很感謝你的幫助。 – Rahul 2012-05-14 22:57:22

+1

我通過這樣做了我的工作。 $(document).ready(function() { $('#result').html("Loading..."); var yql = 'http://query.yahooapis.com/v1/public/yql/...?format=xml&callback=?'; $.getJSON(yql, function (data) { if (data.results[0]) { var data = data.results[0]; $('#result').html(data); } else { var errormsg = '

Error: could not load the page.

'; $('#result').html(errormsg); } }); Rahul 2012-05-14 22:59:56