HTML5本地存储功能在我的IOS Phonegap应用程序中突然停止工作


HTML 5 localStorage feature stopped working suddenly in my Phonegap app for IOS

实际上,这个应用程序是使用Phonegap开发的。它不是本机IOS应用程序。你可以从官方网站获得更多关于Phonegap的信息http://phonegap.com.

正如您所知,我们在Phonegap应用程序中使用HTML、CSS、JAVACRIPT,因此我们在应用程序中采用HTML 5本地存储功能来保存一些本地数据。

就像我在登录页面上做的那样。我使用AJAX向服务器发送了一个带有登录详细信息的请求,如果登录详细信息有效,服务器就会发送一个用户id作为JSON响应。

我使用HTML5本地存储功能保存了该用户id,如下所示:

user_id=数据['user_id'];//数组数据是从JSON响应生成的数组

window.localStorage.setItem("user_id",user_id);​ //已在本地存储中保存用户id

上面的代码将当前登录应用程序的用户的Id保存在本地存储中。

但是,当我尝试使用以下代码检索信息时,我无法从下一页的本地存储中检索该信息:

user_id=window.localStorage.getItem("user_id");​ //从本地存储获取用户id

它将"undefined"保存在变量userid中。

在应用程序的内部页面上,我必须在从本地存储区获取此user_id后将其发送到服务器,以便从服务器获取登录用户的数据作为JSON响应。但是,它不是发送实际的用户id,而是向服务器发送"未定义"来代替该用户id,因为服务器无法生成正确的JSON响应,AJAX会发出错误回调,我将此消息显示为警报:"应用程序无法访问doggone服务器。请检查您的互联网连接。"

奇怪的是,当用户从应用商店购买该应用程序时,它早些时候就工作了,而当我试图提交下一版本应用程序的新版本时,它突然停止了工作。

我在谷歌上做了一些研究,发现HTML5本地存储在IOS5.1或更高版本上不起作用。但几天前它就开始工作了。它停止工作,因为我正试图上传新的二进制文件为下一个版本2.0。

请查看这个问题并为我们提供解决方案。我们的整个应用程序几乎在每个页面上都使用HTML5本地存储功能,以便从服务器获取当前用户数据。

放入

window.localStorage.setItem("user_id",user_id);​ 

在尝试/捕获块中。您可能很容易发现QUOTA_EXCEEDED错误(存储空间不足)。就在前几天发生在我身上。。。