관리자가 내 사이트에 대한 여러 가지 사항을 변경할 수있는 제어 페이지가 있습니다. 하나의 섹션에서 관리자가 페이지를 변경할 수 있습니다. 선택한 페이지에서 jQuery.get을 사용하여 내용을 찾은 다음 해당 내용을 텍스트 영역에 표시합니다. 이 모든 것이 제대로 작동하며 관리자가 내용을 수정하고 저장할 수 있습니다. 내용이 저장되고 페이지가 새로 고쳐지면 변경됩니다. 그러나 jQuery.get을 다시 사용하여 페이지의 새 컨텐츠를 찾으면 원본 페이지 컨텐츠 인 이전 데이터가 다시 나타납니다. 페이지를 새로 고침 한 횟수와 관계없이 항상 존재하지 않아야하는 데이터가 텍스트 영역에 항상 표시됩니다. jQuery.get은 이전 데이터를 반환합니다.
<script type="text/javascript">
$(document).ready(function() {
$('#editpage').click(function() {
var page = $('#page').val();
$.get('pages/' + page + '.txt',{},function(data) {
$('#display').val(data);
});
});
$('#savepage').click(function() {
var pageToChange = $('#page').val();
var contents = $('#display').val();
$.post('changepage.php',{page:pageToChange,text:contents},function(data) {
$('#saveyay').html('<div class="success">Saved Changes</div>');
});
});
});
</script>
그리고 changepage.php :
<?php
if (array_key_exists('text',$_POST) AND array_key_exists('page',$_POST)) {
file_put_contents('pages/'.$_POST['page'].'.txt', $_POST['text']);
}
?>
무엇 내가 놓친 여기 는 격리 된 편집 페이지 코드?
는 캐싱 헤더를 수정합니다. – Bergi