Javascript $.getJSON未提取更新的信息

Javascript $.getJSON未提取更新的信息,javascript,php,jquery,ajax,json,Javascript,Php,Jquery,Ajax,Json,我正在构建一个网站,在这里我可以拉和推包含信息的json文件。我知道为了提高速度我应该使用数据库,但我还不知道该怎么做。无论如何,页面每秒都会通过JQuery.getJSON调用提取一个新的JSON文件,并将其附加到一个元素,如下所示: function update(){ $.getJSON(path, function(data){ $("#entryContainer").empty().append(data.entry); }); window

我正在构建一个网站,在这里我可以拉和推包含信息的json文件。我知道为了提高速度我应该使用数据库,但我还不知道该怎么做。无论如何,页面每秒都会通过JQuery.getJSON调用提取一个新的JSON文件,并将其附加到一个元素,如下所示:

function update(){
    $.getJSON(path, function(data){
        $("#entryContainer").empty().append(data.entry); 
    });
    window.setTimeout(update, 1000);
}
我使用一个对PHP脚本的ajax调用,以相同的路径编写旧的json。PHP正确执行:

<?php
    $data = $_POST['data'];
    $path = $_POST['path'];

    $file = fopen($path, 'w+');
    fwrite($file, $data);
    fclose($file);
?>
大多数情况下,此设置工作正常。尽管我第一次尝试将更新推送到json,但是$.getJSON实际上并没有拉到更新的文件。刷新页面后,将显示更新,$.getJSON将实际响应

为什么会发生这种情况?正在缓存json吗?在成功执行时重新加载页面不是一个选项


谢谢

默认情况下,jQuery中的getJSON缓存。您确实应该在服务器端不设置缓存头和/或在没有helper方法的情况下进行Ajax调用

$.ajax({
    dataType: "json",
    url: path,
    cache: false,  //do not cache
    success: function(data){
        $("#entryContainer").empty().append(data.entry); 
    }
});

您是否尝试过禁用缓存:$.ajaxSetup{cache:false};