1

ajaxとjsonを使用してページをレンダリングしています。私のjsonの構造は、{"status":"ok","rewards":[{"id":201,"points":500},{"id":202,"points":500}] 「ポイント」がいずれかのハッシュで重複している場合、ajaxロードデータを1回だけ作成するにはどうすればよいですか?

たとえば、「ポイント」が同じ値を持つハッシュが少ないjsonがあります。これが私のコードです

    $("#page").live('pagecreate', function(e) {
        var request = $.ajax({
            type: "GET",
            url: "example.com/file.json",
            dataType: "json",
            error: function (data, tex

tStatus){
           console.log( status );
          console.log( data );},
        success: function (data, textStatus){
        console.log( "success" );

        console.log( status );
           console.log( data );
         }
        })
        request.success(function(data, textStatus){
            var lis = "";
            var seen = {};
            $.each(data.rewards, function(key, val){
            lis += "<div class = 'reward-ui ui-block-" + String.fromCharCode(97 + key%3) + "'><a href ='#' class ='ui-link-inherit'>" + val.points + "</a></div>";
            });
            $(".ui-grid-b").html(lis);

            });
            //$('.even-odd').listview('refresh');
        })
      });
4

1 に答える 1

2

使用されるすべてのアイテムを格納するローカル配列を追加します。$ .each関数でこの配列にプッシュし、lis + = ""を実行する前に、値が一時配列にすでに存在するかどうかを確認します。

それ以外は、データを取得する前にサーバー側の並べ替えを試すことができます...上記のように。

于 2012-11-29T14:32:57.810 に答える