单个ajax请求到服务器,尝试在jquery中多次重用对象

时间:2013-04-14 14:13:59

标签: jquery ajax json

我为产品创建了一个图片库,并有两个不同的视图。每次选择视图时,都会向服务器发送ajax请求并返回json对象。我的代码目前有效但我担心它可以更快,我不确定$ .empty()是否真的从内存中清除了json对象。

代码:

<div id=grid2></div>
<div id=grid4></div>
<section id=maindisplay> 

$.ajax({   // DEFAULT VIEW                                    
  url: 'query.php',                          
  data: "",                         
  dataType: 'json',                      
  success: ajaxfunction
}); 

function ajaxfunction(json_data){
  console.log (json_data) 
  //format json_data here in to a table
  $("#maindisplay").append(table);
}

$("#grid2").click(function(){
  $.ajax({                                      
    url: 'query.php',                            
    data: "",                        
    dataType: 'json',                     
    success: ajaxfunction2
  });
});

function ajaxfunction2(json_data){  //ONE OF THE GRID VIEWS
  $("#maindisplay").empty();
  console.log (json_data) 
  //format json_data here in to a table
  $("#maindisplay").append(table);
}

</section>

我已经尝试了但是我可以在本地使用json数据创建另一个对象以便重用而不需要再次调用吗?

1 个答案:

答案 0 :(得分:2)

如果我理解正确,您不会多次检索JSON数据并引用它?如果是,那么你可以,你只需要在发送ajax请求之前创建一个变量,然后将数据分配给该变量。与下面类似。

var jsonData;
$.ajax({                                 
  url: 'query.php',                          
  data: "",                         
  dataType: 'json',                      
  success: function(data){
     jsonData = data;
     ajaxfunction(data);
  }
});