1
아래 JS 코드가 제대로 작동하지만 모든 클릭 이벤트에 대해 서버에 POST 요청을 보냅니다. 아래의 AJAX 게시 응답을 어떻게 캐시 할 수 있습니까? 이상적으로 캐시는 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+"<input type='hidden' id='minimizebutton' value='Minimize'>");
SyntaxHighlighter.highlight();
$('.toolbar').remove();
_doing_ajaxx = false;
});
}
//return false;
});
});
내가 PHP를 사용하여이 코드를 추가 시도가 작동하지 않습니다
<?php
header("Cache-Control: private, max-age=$seconds");
header("Expires: ".gmdate('r', time()+$seconds));
?>
사람이 몇 가지 예제 코드를 제공 할 수있는 경우
시작하기 위해, 나는 그것을 기꺼이 감사하겠습니다. 감사. 그런 다음var cacheObj = {};
: 당신이 (가 페이지를 다시로드하면, 캐시가 더 이상 존재하지 않도록)에 JS 내에서 캐시하려면