jQuery AJAX get()只能读取一个元素?

时间:2015-04-17 08:52:15

标签: jquery html ajax xml get

我在正确加载XML时遇到问题。如果我的XMl中有多个chat-tag元素,它将不会从中加载任何内容。但后来我只有一个,它运作正常。有什么想法吗?

这是我的代码:

enter image description here

我的XML:

enter image description here

1 个答案:

答案 0 :(得分:3)

XML中的根元素格式不正确。你试过验证吗?

我将您的XML文件编辑为:

<?xml version="1.0" standalone="yes" ?>
<chat>
  <message>
    <username>Mon</username>
    <msg>Hi son!</msg>
  </message>
  <message>
    <username>Lund</username>
    <msg>Hi mom!</msg>
  </message>
</chat>

你的JavaScript功能就是这样:

function loadXML() {
  var lix = '<li class="box pre-post">';
  $.ajax({
    type: 'GET',
    url: 'posts.xml',
    datatype: 'xml',
    success: function(data) {
      $('.posts').children().remove();
      $(data).find('message').each(function() {
        var info = lix + $(this).find('username').text() + $(this).find('msg').text() + '</li>';
        $('.posts').prepend(info);
      });
    }
  });
}

似乎有效