通过Ajax将XML节点从XML文档注入HTML文档

时间:2013-04-12 00:07:07

标签: javascript html xml ajax

在发出Ajax请求并接收XML作为响应之后,有一些XML已经预先格式化为HTML。我只想从XML中抓取一个节点并将其注入DOM。响应中还有其他纯XML节点。或多或少的XML看起来像。

    <xml>
      <div id="foo">
          <div id='foo'>...
              <img src="foo.jpg"/>
          </div>
      </div>
      <node></node>
      <node></node>
      <node></node>
      <node></node>
    </xml>

所以,如果我想抓住div节点,并将其注入DOM,我可以用

之类的东西来做
    var e = this.responseXML.getElementById('foo');
    $('#container').html(e);

问题在于,当注入html时,图像不会以任何方式下载。如果我使用responeTEXT,图像将下载,但我得到了我不想要的所有其他XML。

有人知道注入时未下载图像的主要原因吗?或者如何让他们这样做?

1 个答案:

答案 0 :(得分:0)

好的找出解决这个问题的最佳方法。我无法让responseXML以我想要的方式运行jQuery。我能够使用XUIjs,但它以不同的方式处理对象,并且需要不同的选择器包装并从对象数组中提取项目。我找到的最佳解决方案是使用responseText,它似乎被视为HTML。

   var e = this.responseText;
   $('#container').html(e.find("#items"));

这样可以很好地加载东西并使图像按预期得到请求。