检查未定义的javascript变量?

时间:2013-09-12 19:32:47

标签: javascript jquery

我正在尝试检查变量是否已定义,如果是,则运行ajax请求...如果不是,我希望将用户重定向到设置变量的单独页面。

例如我想要这样的东西:

    // if variable is undefined
    if (typeof accessKey === 'undefined') {
        alert('the variable is not set!');
    } else {
            var accessKey = 'some random string generated from google';
                    alert('the variable is set!');
                    proceed to refresh the page and run through check again.
    }

因此,第一次运行页面时,它会检查变量是否已设置。如果未设置变量,它将设置变量,然后重新加载页面并再次运行检查。

问题是'accessKey'总是返回undefined但是代码会像定义变量一样运行。为什么呢?

2 个答案:

答案 0 :(得分:4)

  

如果未设置变量,则会设置变量,然后重新加载页面 [强调我的] 并再次检查

有你的问题:变量(或任何其他js代码)在页面重新加载之间不会持续存在。

如果你需要持久的东西,你必须使用其中一个:

  • 服务器端会话或数据库(使用ajax将数据传递到服务器并在那里保留)
  • 客户端存储(例如localStorage)。
  • Cookie(可以在客户端或服务器端生成)

答案 1 :(得分:0)

将值保存在hiddenfields或cookie中。