js 向session取值的问题!!!神奇的错误!!

wangxiaolin8852 2011-10-10 03:03:06
我写的是用javabean生成验证码,然后存到session,再在js里面取来检验。
js代码如下:
session生成页面 js 1:
<%
//设置页面不缓存
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
// 将认证码存入SESSION
session.setAttribute("rand",image.sRand);
// 输出图象到页面
ImageIO.write(image.creatImage(), "JPEG", response.getOutputStream());
%>
js调用session值的页面
function A {
var certCode="<%=session.getAttribute('+rand+')%>";

alert(" certCode");



为什么我娶不到session的值?alert出来的是certCode这个单词。
var certCode="<%=session.getAttribute('+rand+')%>";
这句换成var certCode="<%=session.getAttribute("rand")%>";后报错是语法错误,就是不能两个双引号重叠
js不是单双通用的吗?
求解啊!!!!

...全文
674 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
明悟 2011-10-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 foster_h 的回复:]
细心重要~~ alert(certCode); 或者直接使用这个 alert("${rand}");

"<%=session.getAttribute("rand")%>" 四个引号全放同一级,区分不了~~
[/Quote]
原来你也没理解jsp的原理啊
liyangyun1986 2011-10-13
  • 打赏
  • 举报
回复
1、js里面可以用<%%>来赋值,但我觉得还是用el表达式来的方便
2、alert("certCode")是不是应该变成alert(certCode);
wangdongj2ee 2011-10-13
  • 打赏
  • 举报
回复
alert(" certCode")里面不能加“”号
iCielo 2011-10-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zhu6100441 的回复:]

不好意思,还有错:
JScript code

var certCode='<%=session.getAttribute("rand")%>';
[/Quote]

正解
sharme 2011-10-10
  • 打赏
  • 举报
回复
可以取的,
function A {
var certCode="<%=session.getAttribute('+rand+')%>";//你这里错误 rand会认为为JS变量
而你去的是Session中的 应该这样var cerCode="${rand}";//第一种
var cerCode="<%=session.getAttribute('rand');%>";
alert(cerCode);//弹出值

alert(" certCode");//"" 双引号内的内容是字符串,不是变量 var cerCode=... cerCode属于变量


wangxiaolin8852 2011-10-10
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 zh0134 的回复:]
引用 13 楼 wangxiaolin8852 的回复:
我想alert出rand里面的验证码内容啊。。。。

那就用5楼的。。这样还不行么
[/Quote]
还是不行啊!!!alert 出来的是<%=session.getAttribute("rand")%>这句话。。。。
网上好多人说js不能取session的值啊。。说session是服务器端的,js是客户端的,不能去,是这样的吗
CloudX2019 2011-10-10
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wangxiaolin8852 的回复:]
我想alert出rand里面的验证码内容啊。。。。
[/Quote]
那就用5楼的。。这样还不行么
wangxiaolin8852 2011-10-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zh0134 的回复:]
JScript code
alert(certCode);


不知道你是想弹出对象还是字符串
如果是字符串就

JScript code
alert("certCode");

如果是对象就

JScript code
alert(certCode);
[/Quote]
我想alert出rand里面的验证码内容啊。。。。
望舒 2011-10-10
  • 打赏
  • 举报
回复
标题党!!!!!
ylcat 2011-10-10
  • 打赏
  • 举报
回复
js能取到服务器端信息吗?除非在客户端显式的输出啊,或者用json之类的说白了就是再取一次
AaronLin98 2011-10-10
  • 打赏
  • 举报
回复
细心重要~~ alert(certCode); 或者直接使用这个 alert("${rand}");

"<%=session.getAttribute("rand")%>" 四个引号全放同一级,区分不了~~
huangdaxiang0726 2011-10-10
  • 打赏
  • 举报
回复
有错是什么错啊?
坐观垂钓者 2011-10-10
  • 打赏
  • 举报
回复
学习来着
CloudX2019 2011-10-10
  • 打赏
  • 举报
回复
alert(certCode);


不知道你是想弹出对象还是字符串
如果是字符串就
alert("certCode");

如果是对象就
alert(certCode);

zhu6100441 2011-10-10
  • 打赏
  • 举报
回复
不好意思,还有错:

var certCode='<%=session.getAttribute("rand")%>';
zhu6100441 2011-10-10
  • 打赏
  • 举报
回复
我去,js有这样定义方法的么?

function A {
var certCode="<%=session.getAttribute('+rand+')%>";

alert(" certCode");


按照你的需求,应该这么写

function A(){
var certCode="<%=session.getAttribute('+rand+')%>";

alert(certCode);

wtc860104 2011-10-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 haojing831 的回复:]
alert(" certCode");
alert(certCode);
[/Quote]
+10086
haojing831 2011-10-10
  • 打赏
  • 举报
回复
alert(" certCode");
alert(certCode);
meteors1113 2011-10-10
  • 打赏
  • 举报
回复
var certCode='<%=session.getAttribute("rand")%>';
meteors1113 2011-10-10
  • 打赏
  • 举报
回复
<%=session.getAttribute("rand")%>

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧