ajax post设置缓存,在Jquery中缓存AJAX POST响应

该博客探讨了如何在JavaScript中缓存AJAX POST请求的响应,以避免每次点击时都向服务器发送请求。作者提供了一个jQuery代码示例,当用户点击特定元素时,会触发一个POST请求。目标是实现如果响应已存在缓存,则直接从缓存中读取,否则执行POST并存储响应。然而,尝试使用PHP进行缓存没有成功。博客寻求帮助以实现这一功能。
摘要由CSDN通过智能技术生成

我在下面有一个完全可用的JS代码,但它将POST请求发送到服务器以查看每个单击事件。如何缓存下面的AJAX post响应? 理想情况下,缓存应该保存为JS变量。如果它已经加载并存在于缓存中,它将被显示(不执行POST)。如果尚未加载,它将执行POST请求并保存在缓存中,然后显示。在Jquery中缓存AJAX POST响应

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

var _doing_ajaxx = false;

$('.toolbar').remove();

$('#mydiv #frontend').click(function() {

if (_doing_ajaxx) {

return false;

}

var title_shortcode = $(this).text();

var insert_namex= $(this).attr('class');

var titlejsselector=title_shortcode.replace(/ /g,'');

var buttonval=$('#'+titlejsselector+' input').val();

if (buttonval=='Minimize') {

//stop ajax request if button is set

$('#'+titlejsselector+' div').remove();

$('#'+titlejsselector+' input').remove();

} else {

//initialize ajax variables

var data = {

action: 'test_ajax_response',

test_ajax_response_nonce: the_ajax_script.test_ajax_response_nonce,

postID_from_ajax : the_ajax_script.postid_to_ajax,

insert_name_ajax: insert_namex,

title_ajax: title_shortcode

};

//do an ajax request

_doing_ajaxx = true;

$.post(the_ajax_script.ajaxurl, data, function(response) {

$(this).next().slideToggle();

$('#mydiv #'+titlejsselector).append(response+"");

SyntaxHighlighter.highlight();

$('.toolbar').remove();

_doing_ajaxx = false;

});

}

//return false;

});

});

我试图使用PHP添加此代码,这是行不通的:

header("Cache-Control: private, max-age=$seconds");

header("Expires: ".gmdate('r', time()+$seconds));

?>

如果有人可以提供一些示例代码上手,我会很乐意欣赏它。谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值