黑马程序员技术交流社区

标题: 取session [打印本页]

作者: 徐传任    时间: 2012-9-28 21:11
标题: 取session
在Javascript函数中可以取Session值吗?

作者: 王伟(wangwei)    时间: 2012-9-29 01:06
可以。
在JavaScript中取session值
  1. function checkUser(){


  2. var id = <%=session.getAttribute("user_id")%>;

  3. if(id == "" || id == null){

  4. //session为空时的操作


  5. }else{


  6. //session不空时的操作

  7. }
  8. }
复制代码
*以上的程序,在session为空时时没错的(var id = null;null是关键字),可是想想当session有值呢,比如“aaa”,则得到var id = aaa的语句,这样的语句显然是不对的……js出错!

所以应当做修改如下:
  1. var id = "<%=session.getAttribute("user_id")%>";(加了引号)

  2. if(id == "" || id == null || id == "null"){


  3. }

复制代码
个人分析:

          1、<%=session.getAttribute("user_id")%>中的语句其实并不是JavaScript中的语句,是jsp中的scriplet,也就是说,<%=session.getAttribute("user_id")%>的结果其实在服务器在向客户端发送html时已经确定了,并不是在调用JavaScript方法时才赋的值。
         在没有用上面的方法之前,还稀奇的想到过,先将session的值存放在一个hidden域中,然后可以用getElementById取得hidden域的值,即是session的值。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2