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