我正在创建一个 Phonegap 应用程序,用于检查本地 JSON 是否是最新的,并将其与最新的远程版本进行比较。如果远程版本比本地版本新,程序将更新本地 JSON。
为了避免带宽浪费,我想在不下载整个远程数据的情况下进行版本检查。只是检查标题...我想... 在寻找解决方案时,我发现有些人像 this thread 中那样谈论“HTTP ETag header”
有人知道我如何在纯 Javascript 中实现类似的东西吗?
提前致谢。
最佳答案
如果您的服务器发送正确的响应类型
304 - 未修改
您可以使用类似的内容检查更新
function hasUpdate(url, callback)
{
var http = new XMLHttpRequest();
http.open('HEAD', url);
http.onreadystatechange = function() {
if (this.readyState == this.DONE) {
if (this.status === 200) {
// Data is new -- maybe do another request and grab a copy?
} else if (this.status === 304) {
// Data is not modified
} else {
// Something else happened.
}
}
};
http.send();
}
关于javascript - 检查远程 JSON 是否比本地 JSON 新,而无需在 Javascript 中下载整个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23394784/