【问题标题】:ajax jquery XML return loopingajax jquery XML返回循环
【发布时间】:2012-04-23 05:57:52
【问题描述】:

大家好,我目前正在使用下面的代码来收集我返回的 XML 数据:

success: function(xml) {
    $(xml).find('members').each(function(){ 
       $(this).find("id").each(function(){        
         var id = $(this).text();
         $("#example").append('<img src="http//www.xxxxxxx.com/' + id + '.jpg">');
       }); 
    }); 
}

但是,我需要它能够一次收集每个部分的 ALL 数据,而不必只为一件事循环,然后返回并循环获取第二个,等等。

XML 如下所示:

<?xml version="1.0" encoding="ISO-8859-1"?>
<members>
  <new>YES</new>
  <id>5678994</id>
  <name>Bob Barker</name>
  <rsvp>0</rsvp>
  <new>NO</new>
  <id>94443326</id>
  <name>Bill Gates</name>
  <rsvp>0</rsvp>
  <street1>na</street1>
  <street2>na</street2>
  <city>na</city>
  <state>na</state>
  <zip>0</zip>
  <cellp>0</cellp>
</members>

【问题讨论】:

    标签: php jquery xml ajax


    【解决方案1】:

    你可以像这样简化遍历

    $divToAppend=$("#example");    
    $(xml).find("members id").each(function(){
        $divToAppend.append('<img src="http//www.xxxxxxx.com/' + $(this).text() + '.jpg" />');
     });
    

    Div / Element '#example' 被缓存以获得更好的性能。

    【讨论】:

    【解决方案2】:

    知道了:

    $(xml).find('members').each(function(){ 
        $(this).find("user").each(function(){ 
            var found   = $(this).find("new").text();
            var id      = $(this).find("id").text();
            var name    = $(this).find("name").text();
            var rsvp    = $(this).find("rsvp").text();
            var street1 = $(this).find("street1").text();
            var street2 = $(this).find("street2").text();
            var city    = $(this).find("city").text();
            var state   = $(this).find("state").text();
            var zip     = $(this).find("zip").text();
            var cellp   = $(this).find("cellp").text();
    
            alert(street1);
            alert(id);
        }); 
    }); 
    

    使用 xml 布局:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <members>
    <user>
    <new>NO</new>
    <id>5000834</id>
    <name>bob Barker</name>
    <rsvp>0</rsvp>
    <street1>na</street1>
    <street2>na</street2>
    <city>na</city>
    <state>na</state>
    <zip>0</zip>
    <cellp>0</cellp>
    </user>
    <user>
    <new>NO</new>
    <id>94323456</id>
    <name>Bill Gates</name>
    <rsvp>0</rsvp>
    <street1>na</street1>
    <street2>na</street2>
    <city>na</city>
    <state>na</state>
    <zip>0</zip>
    <cellp>0</cellp>
    </user>
    </members>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-03
      相关资源
      最近更新 更多