我在Windows 8.1上使用Visual Studio 2015 Cordova工具处理应用程序。目标也是Windows 8.1。
该应用正在缓存HTTP GET请求。因此,对同一资源的第二个GET请求将返回缓存的响应。我在禁用网络适配器后进行了测试,但仍然得到了缓存结果的响应。
我正在使用jsforce libray连接到salesforce.com。我知道我可以在网址上添加时间戳,但我想找到修复工具而不是解决方法。
有什么想法吗?
[UPDATE]
问题与jsforce无关,因为它在Android上运行良好。该错误特定于Windows 8.1和cordova。
答案 0 :(得分:-1)
正如问题所示,对网址加时间戳有助于:我使用了:
var url = "https://api.myurl.com/" + param1 + "?" + new Date().getTime()
答案 1 :(得分:-1)
我写了一个简单的库来为Cordova的REST请求添加缓存:https://github.com/glauber-md/mobile-simple-web-call#using-this-library。
该库将使用本地数据库(sqlite)获取服务器数据并在适用的情况下在本地缓存它(例如,带有缓存相关头的HTTP GET请求)。
收到304响应后,它将使用缓存数据。
要发送GET请求,您可以使用:
wscall.get(
'http://myserver.org/users/1234',
// (Optional) query strings
null,
function(responseData) {
// Do something when the response is successful
},
function(error) {
// Do something when an error happens
}
);
然后,数据将来自远程服务器或本地缓存,具体取决于HTTP服务器响应。
也许它会帮助你。