我为产品创建了一个图片库,并有两个不同的视图。每次选择视图时,都会向服务器发送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数据创建另一个对象以便重用而不需要再次调用吗?
答案 0 :(得分:2)
如果我理解正确,您不会多次检索JSON数据并引用它?如果是,那么你可以,你只需要在发送ajax请求之前创建一个变量,然后将数据分配给该变量。与下面类似。
var jsonData;
$.ajax({
url: 'query.php',
data: "",
dataType: 'json',
success: function(data){
jsonData = data;
ajaxfunction(data);
}
});