Ajax .open() 获取旧版本的文件


Ajax .open() getting older version of file

我有一个名为'images.xml'的xml文件。每次有人将新图像上传到服务器时,它都会由 php 脚本修改。我也使用 ajax 浏览该文件。

xmlhttp.open("GET", "images.xml", true);
xmlhttp.onreadystatechange = handleStateChange;
xmlhttp.send(null);

但是由于某种原因,"xmlhttp.responseXML"存储该文件的版本与当前用户会话开始时的版本相同。因此,如果用户上传新图像,即使 xml 文件由 php 更新,ajax 也会从更新之前恢复该文件的版本。

附言

我是 ajax 的新手,所以我可能会错过一些显而易见的东西。

可能是因为缓存。您需要将查询参数附加到 URL,以便它始终不同。

一种常见的做法是附加当前的 UNIX 时间戳,在本例中以毫秒为单位。

var url = 'images.xml?nocache=' + Date.now();

now()参考

资料