保存初始ajax加载的内容

时间:2016-05-03 16:08:18

标签: javascript json ajax

我在加载时有以下代码,我可以将所有请求的信息加载到表格中。

jQuery(document).ready(function($) {

$.ajax=({

//all the ajax variables

on success: function (d) {
if (d.success === true) {
    for (var i = 0; i < d.data.length; i++) {
    //div append alot of html in table.
    }
}

});

我还在表格顶部设置了一个输入搜索功能,用搜索结果替换上表。

$.('#inputid').on('keyup',function() {

//$.ajax base on search values in $('input[name="search"]');

}

问题是当用户一直退格并且搜索变空时,目前将使用以下代码再次请求整个目录。

if $('input[name="search"]').val == '') {

//ajax get everything

}

我如何重用最初的json数据,所以我没有继续请求服务器的整个信息列表?

1 个答案:

答案 0 :(得分:1)

您可以在第一个ajax请求完成后保存初始数据,然后重复使用它:

获取数据并保存

var initialData;

$.ajax=({
//all the ajax variables
success: function (d) {
if (d.success === true) {
    if (!initialData) initialData = d; // Save data only once
    for (var i = 0; i < d.data.length; i++) {
    //div append alot of html in table.
    }
}
});

恢复

if $('input[name="search"]').val == '') {
   for (var i = 0; i < initialData.data.length; i++) {
   //div append alot of html in table.
   }
}