1

我是 AJAX 新手,我正在尝试将可过滤信息从 XML 文档拉到网页的示例放在一起。到目前为止,我正在尝试使用这些过滤的 XML 项创建一个数组,然后将数组中的项拉到页面上。

我的 XML 文档非常简单,我要做的就是显示“类型”为 100 的项目。在服务器端进行此过滤是最佳做法,还是在请求期间/之后进行过滤可以?有谁知道为什么这个脚本不起作用和/或是否有更有效的方法?

这是我的 XML:

<items>
    <item id="1">
        <type>100</type>
    <item>
    <item id="2">
        <type>101</type>
    <item>
    <item id="3">
        <type>100</type>
    <item>
    <item id="4">
        <type>102</type>
    <item>
</items>

这是我的脚本:

$(document).ready(function(){

    var array = [];

    $.ajax({
        type: "GET",
        url: "text.xml",
        dataType: "xml",
        success: function(xml){
            $(xml).find("item").each(function(){
                if( x == $(this).find("type") == "100"){
                    $(this).push(array);
                }
            });   
    });

    $.each(array, function() {
        $(body).append("<p>" + $(this).attr("id") + "</p>" );
    });
});
4

1 回答 1

3

尝试

$(document).ready(function(){
    $.ajax({
        type: "GET",
        url: "text.xml",
        success: function(xml){
          var items = $(xml).find("item").filter(function(){
              return $('type', this).text() == '100';
          });
          items.each(function(index, item){
              $('body').append("<p>" + $(item).attr("id") + "</p>" );
          });
        }
    });
});

演示:Plunker

注意:你的xml有问题,结束标签foritem不对,应该是</item>

于 2013-04-21T13:42:20.867 回答