1

私は AJAX を初めて使用し、フィルター可能な情報を XML ドキュメントから Web ページにプルする例をまとめようとしています。これまでのところ、これらのフィルター処理された 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>" );
          });
        }
    });
});

デモ:プランカー

注: xml に問題があります。終了タグitemが適切ではありません。</item>

于 2013-04-21T13:42:20.867 に答える