我正在尝试使用本地存储来允许我的JQM Web应用程序用户控制主题。我无法弄清楚如何将本地存储数据恢复到php,因此它可以生成正确的主题。
目前,我有一个表单,允许用户选择他们想要的颜色。提交表单时,我将选定的值存储在我在PHP代码中使用的会话变量中以生成页面。 我还将值存储在用户浏览器的本地存储中。
当用户关闭浏览器并重新访问该网站时,就会出现问题。 我需要从本地存储中读取首选项,我可以使用JavaScript来完成。然后我需要将这些值存储在我的会话变量中,以便我的php代码可以读取它。我尝试过以下内容,它向我展示了一个“成功”的警告框,但似乎并没有真正调用PHP代码:
var themeDefault = (window.localStorage && window.localStorage.getItem('theme') != "" && window.localStorage.getItem('theme') != null) ? window.localStorage.getItem('theme') : "a";
$(document).live('pageinit', function () {
$.ajax({
url: "theme.php",
cache: false,
type: "POST",
data: {"theme=" + themeDefault},
success: function(){
alert('success');
}
});
});
上述代码有什么问题吗?为什么即使我收到'成功'消息,它也不会调用theme.php?
另一个问题是,我只想在登陆页面上执行此代码。我怎么能这样做呢?目前,它在每个页面上执行一次。
我的其他选择是使用cookies。你认为这会是一个更好的计划吗?