Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 保存初始ajax加载的内容_Javascript_Json_Ajax - Fatal编程技术网

Javascript 保存初始ajax加载的内容

Javascript 保存初始ajax加载的内容,javascript,json,ajax,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. }

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

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.
    }
}

});
问题是,当用户一路退格,搜索变为空时,当前将使用以下代码再次请求整个目录

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

//ajax get everything

}

我如何重用初始json数据,这样我就不必一直从服务器请求整个信息列表了

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

获取数据并保存
var初始数据;
$.ajax=({
//所有ajax变量
成功:功能(d){
如果(d.success==true){
如果(!initialData)initialData=d;//只保存一次数据
对于(变量i=0;i
恢复
if$('input[name=“search”]”)。val==“”){
对于(变量i=0;i
这很简单,当您最初加载数据时,将其放入全局变量中,然后如果搜索为空,则从全局变量else调用服务。一个简单的建议是,为什么每次用户开始键入时都要发送ajax请求。您可以通过将数据保存在变量(JSON对象)中,从已请求的数据中筛选出数据。您所需要做的就是从该变量中过滤出数据。这也比每次发送请求都要快。对不起,我不擅长javascript,我该怎么做?对不起,我不擅长javascript,我该怎么做?目前,我的json会返回名字、姓氏、电子邮件、手机号码,而我所做的只是将ajax返回到搜索的php脚本中通过数据库,如果文本字符串与这些字段中的任何一个匹配…从wards上的3个字符开始。因此,如果类似于实时搜索。非常感谢。我是这样一个noob,但我通过只保存第一页的10个结果并将其余结果放在分页上实现了这一点。ajax将允许我从服务器进行搜索,这样我就不会有太多开销初始页面加载。
if $('input[name="search"]').val == '') {

//ajax get everything

}
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.
   }
}