我需要一种方法来从我的网站PhoneGap中的缓存图像和html文件.我计划用户将看到没有互联网连接的网站,就像它将使用它一样.但我只看到有关sql数据存储的信息,但我如何存储图像(以后再使用).
这是我在做什么,
获取请求到我的Web服务器,响应在json中.使用jquery模板在我的应用程序中呈现该回调数据.很简单,就像一个魅力.
问题出在这里:我想在本地存储一些这样的数据,这样我的应用程序就不必每次都从服务器上获取它(3g很慢,每次事务都会伤害我的UX ......).所以这就是我的尝试:
$.ajax({
url: app_domain + '/pages/home.json',
type: 'get',
datatype: 'json',
data: { mobile: "1" },
async: true,
cache: false,
success: function(data) {
//store locally
localStorage.setItem('foo', data);
//grab from local store
var bar = localStorage.getItem('foo');
// populate template with data
$.tmpl("cityTemplate", bar).appendTo('#all');
...
Run Code Online (Sandbox Code Playgroud)
这失败了.(我意识到代码很愚蠢,只是为了方便调试,直到我开始工作)
如果我做一个简单的
alert(foo);
Run Code Online (Sandbox Code Playgroud)
在抓取本地存储的数据后,我看到了类似的东西
[object, Object],[object, Object],[object, Object],...,[object, Object]
Run Code Online (Sandbox Code Playgroud)
如果我做
alert(foo[0])
Run Code Online (Sandbox Code Playgroud)
我明白了
'['
Run Code Online (Sandbox Code Playgroud)
如果我做
alert(foo[0].name);
Run Code Online (Sandbox Code Playgroud)
我明白了
'undefined'
Run Code Online (Sandbox Code Playgroud)
所以,我最好的猜测是这是由于数据格式在通过localStorage存储时从json变为字符串引起的.你同意吗?而且,如果是这样,我该怎么做才能让它回到json格式?
万分感谢!