html - JQuery 读取旧版本的文件
问题描述
所以我正在为我的 rPi 开发一个项目,该项目收集网络速度信息并将其记录在本地的网络服务器中。该脚本运行良好,但由于某种原因,JQuery 代码在 Windows 中的运行方式(它读取文件并正确显示)与我的 rpi 中的运行方式不同。让我解释一下:该文件经常被修改以更改网络服务器中显示的内容,因此它是最新的。出于某种原因,在不修改任何内容的情况下,JQuery 代码会错误地读取文件(更改文件后的旧数据,即使在重新启动整个程序后也是如此)。我什至尝试将文件移出它所在的目录,以验证没有任何其他重复文件,也没有另一个。
这是 HTML 文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script src='jquery-3.6.0.min.js'></script>
<script>
$.get('./assets/current.txt', function(data) {
var items = data.split(',');
$('#date').html(items[0]);
$('#ping').html(items[1]);
$('#download').html(items[2]);
$('#upload').html(items[3]);
})
</script>
<p>Date: <span id="date"></span></p>
<p>ping: <span id="ping"></span> ms</p>
<p>dowload: <span id="download"></span> MB/s</p>
<p>upload: <span id="upload"></span> MB/s</p>
</body>
</html>
解决方案
如果浏览器正在缓存文件,则此行为是可能的。为了始终强制来自服务器的文件将 url 扩展为$.get('./assets/current.txt?_u='+Date.now(), function (){...})
推荐阅读
- jquery - 对数组的值求和
- firebase - 如何使用 FlutterFire 插件检索存储为时间戳的 2 个日期之间的 Firebase Firestore 文档
- cmake - VCPKG 如何确定标准 .h 文件的路径
- terraform - 如何从 Terraform 输出中传递值而不将其放入 tfvars 文件中
- c++ - 如果两个对象有三个要测试的值,我该如何比较它们?
- python - 使用python传输和重命名文件
- video.js - Video-JS 中 v5.x 和 v6.x 之间的“TextTrack”对象是否发生了变化?
- jprofiler - 选择容器后 JProfiler 远程进程列表为空
- swift - Swift 5. 让第一个子类访问一个属性,而不是子类的子类
- c# - .net 5 Azure b2c 注销循环