美元.getJSON没有提取更新的信息
$.getJSON is not pulling updated information
我正在建立一个网站,我拉和推包含信息的json文件。我知道为了提高速度,我应该使用数据库,但我还不具备这样做的知识。无论如何,页面每秒钟都会用JQuery拉出一个新的JSON文件。调用getJSON并将其附加到元素中,如下所示:
function update(){
$.getJSON(path, function(data){
$("#entryContainer").empty().append(data.entry);
});
window.setTimeout(update, 1000);
}
我使用ajax调用PHP脚本,以相同的路径重写旧的json。PHP正确执行:
<?php
$data = $_POST['data'];
$path = $_POST['path'];
$file = fopen($path, 'w+');
fwrite($file, $data);
fclose($file);
?>
大多数情况下,这种设置工作得很好。虽然我第一次尝试推送一个更新到json, $。getJSON实际上并不提取更新的文件。刷新页面后,将显示更新内容和$。getJSON实际上会响应。
为什么会发生这种情况?json被缓存了吗?不能在成功执行后重新加载页面。
谢谢
默认getJSON缓存在jQuery中。您确实不应该在服务器端设置缓存头和/或在不使用helper方法的情况下进行Ajax调用。
$.ajax({
dataType: "json",
url: path,
cache: false, //do not cache
success: function(data){
$("#entryContainer").empty().append(data.entry);
}
});
相关文章:
- ng在更新$scope后重复不更新信息
- 根据CHECKBOX输入值动态更新DIV信息
- 更新打开的谷歌地图信息窗口
- 如何使用JavaScript更新iframe的信息
- 向HTML页面添加按钮,更新表格信息
- 从 SQL 数据库自动更新统计信息
- MySQL 按行[id]使用新信息更新“n”行数
- 自动更新标记位置和信息窗口
- 使用 SQL 信息更新选择下拉列表 (HTML)
- 使用数据表行信息更新文本输入,并从对话框中编辑行
- AJAX 调用无法加载更新列信息的 PHP 脚本
- 使用 javascript 选择列表框项时更新文本框的信息
- 为标记添加唯一的信息窗口,并更新数据库以存储信息(谷歌地图api)
- 将标签的信息传递到php并在另一个页面中显示(也可以在另一页面中更新)
- InfoVis SpaceTrees:在表单提交后更新节点信息
- 主干:传递或检索集合更新的详细信息
- php脚本和ajax提供的自动更新数据库信息
- 更新AngularJS中的父子详细信息
- 如何处理将来保存和更新的承诺中所需的信息
- Java Web App + Javascript -无需servlet调用即可在客户端浏览器上更新信息