【发布时间】:2012-11-19 04:05:26
【问题描述】:
我可以使用许多客户端技术进行编程,例如 extjs、gxt 等,但我是 jQuery 新手。
我习惯于在客户端存储复杂的模型,然后一直引用它,然后返回到服务器。
例如,登录后,我希望能够保留所有用户信息、姓名、角色等。然后,在单击按钮后,事件处理程序可以根据用户是管理员还是标准用户执行不同的操作用户。
你将如何在 jQuery 中实现它。
【问题讨论】:
我可以使用许多客户端技术进行编程,例如 extjs、gxt 等,但我是 jQuery 新手。
我习惯于在客户端存储复杂的模型,然后一直引用它,然后返回到服务器。
例如,登录后,我希望能够保留所有用户信息、姓名、角色等。然后,在单击按钮后,事件处理程序可以根据用户是管理员还是标准用户执行不同的操作用户。
你将如何在 jQuery 中实现它。
【问题讨论】:
请务必注意,您尝试解决的问题不是 jQuery 的本意或设计目的。 jQuery 主要是关于 DOM 操作(尽管它已经扩展了一些)。然而,还有许多其他的库与 jQuery 一起工作来做你想做的事情——主要是KnockoutJS。来自 Knockout 的网站:“使用简洁易读的语法轻松地将 DOM 元素与模型数据相关联”
此外,如果您只想在客户端存储数据,我建议您查看 localStorage 和 sessionStorage。 Web 编程的这两个方面都是针对您面临的特定问题而设计的。但是,请注意您存储的数据,因为这可能成为数据访问点。
【讨论】:
为此,您需要通过 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 的用户显示删除选项
【讨论】:
您将在此处找到如何使用 jQuery 和 JavaScript 设置全局变量的答案:
How to declare a global variable in JavaScript?
jQuery - 如下定义一个全局“命名空间”:
$.miniMenu = new Object();
JavaScript - 定义一个全局变量:
window.globalVar = "This is global!";
【讨论】: