【问题标题】:jQuery AJAX get() can only read one element?jQuery AJAX get() 只能读取一个元素?
【发布时间】:2015-06-24 00:43:23
【问题描述】:

我在正确加载我的 XML 时遇到问题。如果我的 XMl 中有多个聊天标签元素,它不会从中加载任何内容。但是我只有一个,它工作正常。任何想法为什么?

这是我的代码:

我的 XML:

【问题讨论】:

  • 我认为你应该先解析xml,然后开始循环。请参阅此答案如何解析 XML stackoverflow.com/a/7228219/3917754
  • 请在您的问题中发布实际代码,而不仅仅是代码的屏幕截图。

标签: jquery html ajax xml get


【解决方案1】:

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);
      });
    }
  });
}

它似乎有效

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-07
    • 2014-03-10
    • 2016-12-05
    • 1970-01-01
    相关资源
    最近更新 更多