【发布时间】:2016-12-01 20:59:55
【问题描述】:
jQuery 中是否有与 C# 中的 Session["Param"] 类似的功能?我该如何使用它?
我在 jQuery 中搜索过"sessionStorage",但我看不懂。
【问题讨论】:
标签: javascript jquery session
jQuery 中是否有与 C# 中的 Session["Param"] 类似的功能?我该如何使用它?
我在 jQuery 中搜索过"sessionStorage",但我看不懂。
【问题讨论】:
标签: javascript jquery session
要使用会话数据,您不需要 jquery,您可以使用 setItem、getItem 和 removeItem 来处理会话数据,这些数据存储为 json 对象并可以通过键访问。
【讨论】:
如您所说,您可以在 JavaScript 中使用 sessionStorage。
▶ 你可以像这样设置一个新参数:
sessionStorage.param1 = "Hello";
/* Or */
sessionStorage.setItem("param1", "Hello");
▶然后,你可以得到它:
var param = sessionStorage.param1;
/* Or */
var param = sessionStorage.getItem("param1");
console.log(param); /* It'll output `Hello`. */
注意事项:
▶ 使用 sessionStorage,您只能存储一个会话的数据,这意味着如果您关闭特定的浏览器选项卡,所有内容都将被删除。如果您想永久存储数据,请改用 localStorage。
▶ 由于您显然对 JavaScript 很陌生,我建议您在 JavaScript 中查看以下有关 Web Storage 的文档:
【讨论】:
// ${FEEDBACK_QUESTION_IDS} this is session attribute name in controller
<script type="text/javascript">
$(document).ready(function() {
window.questionIdsList = [];
var i = 0;
<c:forEach items="${FEEDBACK_QUESTION_IDS}" var="queId">
questionIdsList[i] = parseInt(${queId});
i++;
</c:forEach>
});
</script>
终于可以像数组一样使用window.questionIdsList了
【讨论】:
可以通过以下方式存储和检索数据:
存储:
sessionStorage.setItem("error", 'some value');
检索:
sessionStorage.getItem("error");
【讨论】: