【问题标题】:How to set/get session values from javascript如何从 javascript 设置/获取会话值
【发布时间】:2014-07-13 03:34:19
【问题描述】:

我想在 javascript 代码中访问 session 以便设置和获取一些值: 我尝试使用此代码:

function getsessionvalue() {

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

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

The type of the expression must be an array type but it resolved to 
Type mismatch: cannot convert from String to int

【问题讨论】:

  • 会话是并且仍然是服务器端。如果您需要一些可用的客户端尝试 cookie 或只是在页面创建时插入它。你用的是什么服务器软件?
  • 这不是javascript问题; js 转换类型没有问题...

标签: javascript session


【解决方案1】:

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

(对不起,我只知道java不知道php等)

在 JSP script-let 中检查会话,创建一些带有会话值的隐藏 html 元素。像这样

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

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

var role=document.getElementById("role");

你在这里做点什么。

如果您想在 javascript 中设置会话中的角色,它可能会对您有所帮助

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

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

</script> 

希望这行得通。 并在需要时调用您的函数。

【讨论】:

  • “如果你想在 javascript 中设置 session 中的角色,它可能会对你有所帮助” 不,那行不通。 第一个你的答案有一半会起作用。
  • 我已经检查了一半(获取和设置会话)工作正常。你能检查一下并告诉我你面临的问题吗?
  • 后半部分将在 javascript 到达浏览器之前设置会话值。
  • 我知道。为此你必须创建你的javascript函数,你需要设置方法何时执行,在方法内部,你应该做我上面提到的所有事情。
  • 我可以知道下半年的问题吗?因为两者都适合我
【解决方案2】:

通过客户端javascript,我们也可以访问会话变量。以下是将会话变量分配给 javascript 变量的简单代码。

<script type="text/javascript">
function getSessionName(){
var name='<%=session.getAttribute("uname")%>';
alert(name);
}</script>

这段代码运行良好

【讨论】:

  • 虽然此代码 sn-p 可以解决问题,但 including an explanation 有助于提高您的回复质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
【解决方案3】:

你可以在jsp的隐藏字段中获取会话值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    相关资源
    最近更新 更多