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

对服务器的单个ajax请求,尝试在jquery中多次重用对象,jquery,ajax,json,Jquery,Ajax,Json,我已经为产品创建了一个图像库,并且有两种不同的视图。每次选择视图时,都会向服务器发送一个ajax请求,并返回一个json对象。我的代码目前可以工作,但我担心它可能会更快,而且我不确定$.empty()是否真的从内存中清除json对象 守则: <div id=grid2></div> <div id=grid4></div> <section id=maindisplay> $.ajax({ // DEFAULT VIEW

我已经为产品创建了一个图像库,并且有两种不同的视图。每次选择视图时,都会向服务器发送一个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>

$.ajax({//默认视图
url:'query.php',
数据:“,
数据类型:“json”,
成功:ajaxfunction
}); 
函数ajaxfunction(json_数据){
console.log(json_数据)
//将此处的json_数据格式化为表
$(“#主显示”).append(表格);
}
$(“#网格2”)。单击(函数(){
$.ajax({
url:'query.php',
数据:“,
数据类型:“json”,
成功:ajaxfunction2
});
});
函数ajaxfunction2(json_数据){//一个网格视图
$(“#主显示”).empty();
console.log(json_数据)
//将此处的json_数据格式化为表
$(“#主显示”).append(表格);
}

我已经尝试过了,但我可以在本地创建另一个带有json数据的对象以供重用,而无需再次调用吗

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

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

是的,这似乎是一个简单的可变范围问题,而不是ajax本身。