我主要是一名电子硬件工程师,对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位置?
非常感谢您花时间和精力帮助我。
此致
博
答案 0 :(得分:0)
这会禁用所有jQuery请求的缓存:
$.ajaxSetup ({
// Disable caching of AJAX responses
cache: false
});
您可以将其粘贴到initialize
函数中,看看它是否有效!
另一个手工制作的解决方案是每次获取文本文件时向文件URL添加越来越多的数字,例如gps.txt?1
,然后是gps.txt?2
,依此类推:就浏览器知道而言一个不同的URL,以便它们(种类)分别进行缓存。