Cordova App 8.1缓存HTTP请求

时间:2016-01-26 22:57:53

标签: windows visual-studio cordova caching visual-studio-cordova

我在Windows 8.1上使用Visual Studio 2015 Cordova工具处理应用程序。目标也是Windows 8.1。

该应用正在缓存HTTP GET请求。因此,对同一资源的第二个GET请求将返回缓存的响应。我在禁用网络适配器后进行了测试,但仍然得到了缓存结果的响应。

我正在使用jsforce libray连接到salesforce.com。我知道我可以在网址上添加时间戳,但我想找到修复工具而不是解决方法。

有什么想法吗?

[UPDATE]

问题与jsforce无关,因为它在Android上运行良好。该错误特定于Windows 8.1和cordova。

2 个答案:

答案 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服务器响应。

也许它会帮助你。