如何从javascript设置/获取会话值

lil*_*ana 4 javascript session

我想访问 javascript 代码中的会话,以便设置和获取一些值:我尝试使用以下代码:

function getsessionvalue() {

    var value= '<%= session["role"].ToString() %>';
    alert(value);
    //var role1= '<%= session["role"] %>'; **the same mistake**
    //alert(role1);     
}
Run Code Online (Sandbox Code Playgroud)

但我对两者都有这些 javascript 错误:

The type of the expression must be an array type but it resolved to 
Type mismatch: cannot convert from String to int
Run Code Online (Sandbox Code Playgroud)

use*_*273 7

您无法在客户端访问服务器会话。但是如果你想根据服务器会话值在客户端做一些改变。我会给你一个小想法。它可能对你有用。

(抱歉,我只知道 java 而不是 php 等,)

就在 JSP 脚本中检查会话,创建一些具有会话值的隐藏 html 元素。像这样

<% String role=request.getSession().getAttribute("role").toString();%>
<input type="hidden" id="role" value=<%= role ;%> />
Run Code Online (Sandbox Code Playgroud)

然后,在javascript中,只需像这样通过ID从html输入元素中获取角色。

var role=document.getElementById("role");
Run Code Online (Sandbox Code Playgroud)

和你在这里的东西。

如果你想在 javascript 会话中设置角色,它可能会帮助你

    <script>
function nameYourFunction()
{
    var role="";

    if(your condition)
    <% request.getSession().setAttribute("your variable","your values"); %>
}

</script> 
Run Code Online (Sandbox Code Playgroud)

希望这有效。并在需要时调用您的函数。