将用户属性存储为jQuery中的全局变量

时间:2012-11-19 04:05:26

标签: jquery model

我可以使用许多客户端技术进行编程,例如extjs,gxt和其他技术,但我是jQuery的新手。

我习惯于能够在客户端存储复杂的模型,并继续将其引用回服务器。

例如,登录后,我希望能够保留所有用户信息,名称,角色等。然后,在单击按钮后,事件处理程序可以执行不同的操作,具体取决于用户是管理员还是标准用户。

你将如何在jQuery中实现它。

3 个答案:

答案 0 :(得分:1)

为此你需要在服务器端通过ajax等检查点击按钮发出ajax请求并根据用户返回响应。如果你只做客户端而不是它可以轻易改变

您还可以使用会话/ cookie来放置有关用户的信息,并且仅根据用户显示您可以设置会话

if($_SESSION['type'] =='admin'){
//show the option which is for admin 

}

if($_SESSION['type'] =='user'){
//show the option which is for admin 

}

上述方法将是更好更容易的方法

就像这里一样,他们没有为信誉低于10k的用户显示删除选项

答案 1 :(得分:1)

重要的是要注意,您尝试解决的问题不是jQuery的意图或设计目的。 jQuery主要是关于DOM操作(虽然它扩展了一些)。但是,有许多其他库与jQuery一起工作以执行您想要执行的操作 - 主要是KnockoutJS。来自Knockout的网站:“使用简洁,可读的语法轻松地将DOM元素与模型数据相关联”

此外,如果您只想在客户端存储数据,我建议您查看localStorage和sessionStorage。 Web编程的这两个方面都是针对您所面临的特定问题而设计的。但是,请注意您存储的数据,因为这可以成为数据访问点。

答案 2 :(得分:1)

您将在此处找到有关如何使用jQuery和JavaScript设置全局变量的答案:

How to declare a global variable in JavaScript?

jQuery - 定义一个全局“命名空间”如下:

$.miniMenu = new Object();

JavaScript - 定义一个全局变量:

window.globalVar = "This is global!";