1

我正在尝试使用本地存储来允许我的 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?

另一个问题是,我只想在登陆页面一次执行此代码。我怎样才能让它做到这一点?目前,它在每个页面上执行一次。

我的另一个选择是使用 cookie。你认为这会是一个更好的计划吗?

4

0 回答 0