2012-03-30 32 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