我的网站有一个控制页面,允许管理员更改有关网站的各种内容。 其中一个部分允许管理员更改页面。 我在所选页面上使用 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']);
}
?>
我错过了什么?
最佳答案
造成这种情况的一个可能原因是缓存 get 请求。
所以尝试使用 $.ajaxSetup() 设置 cache: false
在 get request() 之前
$.ajaxSetup({
cache: false
});
使用 ajaxSetup()
设置它会将每个 ajax 请求的缓存属性设置为 false。
关于javascript - jQuery.get 返回旧数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25748523/