javascript - jQuery.get 返回旧数据

标签 javascript php jquery html

我的网站有一个控制页面,允许管理员更改有关网站的各种内容。 其中一个部分允许管理员更改页面。 我在所选页面上使用 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。

如果您只想为一个请求设置该属性,则可以使用 $.ajax()而不是$.get()使用自定义选项

关于javascript - jQuery.get 返回旧数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25748523/

相关文章:

javascript - Material-UI:更新库后代码不起作用

php - 使用 Beanstalk 在 Laravel 4 中找不到类 'Pheanstalk_Pheanstalk'

PHP 从 mysql_real_escape_string 更改为 PDO 准备语句

php - 以键值格式显示csv内容并存储在数据库中

javascript - FullCalendar事件按时间显示设置

javascript - 尝试使用 jquery 在多轮播页面上选择两个不同的起点

javascript - 一种立方体曲面星形寻路启发式算法

javascript - 选择更改时更改 SQL 语句

jquery - Ajax 调用仅在 IE 11 中不起作用

javascript - 超时 2000ms 超过 mocha