Javascript 从json呈现页面时跳过重复项

Javascript 从json呈现页面时跳过重复项,javascript,jquery,ajax,json,jquery-mobile,Javascript,Jquery,Ajax,Json,Jquery Mobile,我正在使用ajax和json呈现页面。我的json的结构是{code>{“status”:“ok”,“rewards”:[{“id”:201,“points”:500},{“id”:202,“points”:500}] 如果任何散列中的“点”重复,如何使ajax只加载一次数据 例如,我有一个json,其中很少有散列,其中“点”具有相同的值 这是我的密码 $("#page").live('pagecreate', function(e) { var request = $.

我正在使用ajax和json呈现页面。我的json的结构是{code>{“status”:“ok”,“rewards”:[{“id”:201,“points”:500},{“id”:202,“points”:500}] 如果任何散列中的“点”重复,如何使ajax只加载一次数据

例如,我有一个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');
        })
      });
$(“#page”).live('pagecreate',函数(e){
var请求=$.ajax({
键入:“获取”,
url:“example.com/file.json”,
数据类型:“json”,
错误:函数(数据,tex
塔图斯){
控制台日志(状态);
console.log(数据);},
成功:功能(数据、文本状态){
控制台日志(“成功”);
控制台日志(状态);
控制台日志(数据);
}
})
请求成功(功能(数据、文本状态){
var lis=“”;
var-seen={};
$.each(数据、奖励、功能(键、val){
lis+=”;
});
$(“.ui-grid-b”).html(lis);
});
//$('.奇偶').listview('refresh');
})
});

添加一个本地数组,该数组将存储所有使用的项目。将$推入此数组。每个函数在执行lis+=“”之前,检查临时数组中是否已存在该值


除此之外,您可以在检索数据之前尝试服务器端排序。。。就像上面建议的那样。

这是在生成数据时在服务器上执行的操作,或者是在.each循环中执行的操作,以记住以前显示的内容。这与ajax本身无关。是的,我尝试了这个问题的解决方案:,但这不起作用。我将以另一种方式使用这些复制。重复的数据将存储在另一个页面上。如果以后需要使用本地数据副本来保存打另一个电话,请保留该数据的本地副本。