如何防止浏览器/服务器端的数据缓存?

时间:2015-07-13 10:34:05

标签: javascript php gps

我主要是一名电子硬件工程师,对php,javascript和类似语言知之甚少。

我正在构建一个能够实时跟踪我的设备并在Google地图上直观显示其当前GPS位置的系统。我的设备能够根据需要正确发送有关其位置(纬度和经度)的数据。 GPS位置数据使用HTTP通信协议(GET请求)发送,并存储在服务器端,名为gps.txt的.txt文件中。

php脚本从该gps.txt文件中提取数据并将其显示在Google地图上。

Here是用php编写的脚本(我使用自己的API密钥正确使用Google地图)。

此脚本在一些免费的网络托管平台上运行。看看here

现在,当我从网络浏览器调用脚本时出现问题。即,尽管使用新数据正确刷新了gps.txt数据,但这些新的位置标记不会显示在地图上。似乎我的网络浏览器或我的网络服务器正在兑现一些数据,并且不允许脚本在新的gps.txt文件上运行。

我想,对于很多网络软件人员来说,这是一个微不足道的问题。

我还尝试通过包含

来阻止我的浏览器上的数据兑现
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past

在我的剧本中但没有成功。

请您就如何克服这种情况向我提出任何建议,并始终在我的地图上显示最新的GPS位置?

非常感谢您花时间和精力帮助我。

此致

1 个答案:

答案 0 :(得分:0)

这会禁用所有jQuery请求的缓存:

$.ajaxSetup ({
    // Disable caching of AJAX responses
    cache: false
});

您可以将其粘贴到initialize函数中,看看它是否有效!

另一个手工制作的解决方案是每次获取文本文件时向文件URL添加越来越多的数字,例如gps.txt?1,然后是gps.txt?2,依此类推:就浏览器知道而言一个不同的URL,以便它们(种类)分别进行缓存。

相关问题