精确求解

divineka 2003-03-29 10:12:50
<% ss=session("username") %>

<script>
var aa;
aa=<%=session%>;
alert(aa);
</script>

问:当session("username")=""时
aa是什么? "" OR null?
...全文
27 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
divineka 2003-03-29
  • 打赏
  • 举报
回复
这样想,是不是很较计儿....
divineka 2003-03-29
  • 打赏
  • 举报
回复
aa=<%=ss%>

按理来说,<%=ss%>是什么,aa就是什么,对吧
<%=ss%>="" 那aa=""
<%=ss%>=null 那aa=null

这样理解有错吗?
huejim 2003-03-29
  • 打赏
  • 举报
回复
dim ss
ss=session("username")
if ss="" or isempty(ss) or isnull(ss) then response.redirect "?对不起,你还没登陆"
divineka 2003-03-29
  • 打赏
  • 举报
回复
收到,结贴
divineka 2003-03-29
  • 打赏
  • 举报
回复
了了
ShiningstarHu 2003-03-29
  • 打赏
  • 举报
回复
不管在谁的机器上,按照你的第一种方法都会有问题的,按照你的第二种方法都不会有问题。

按照你的第一种方法,因为会产生一种情况时就是:
aa=; 这是一句不合法的语句,执行到这里就执行不下去了,所以出错了。
按照你的写法在 aa=<%=ss%>;之前只有 var aa;
所以当 var aa;执行后,aa应该是 empty.
whtech 2003-03-29
  • 打赏
  • 举报
回复
你应该加上引号,如果是字符串的话。
whtech 2003-03-29
  • 打赏
  • 举报
回复
就是当session("username")为空时,

js是:
<script>
var aa;
aa=; <!--------这样还不出错吗?
alert(aa);
</script>
divineka 2003-03-29
  • 打赏
  • 举报
回复
还有一点不懂,to:ShiningstarHu() 在你的机子上,按照我的写法,真的可以吗?
还有,to:ShiningstarHu() 如果按照那样写,aa到底是什么?总会有个值吧 null?empty?
ShiningstarHu 2003-03-29
  • 打赏
  • 举报
回复
按照你的第二种方法
<% dim temptzuser
if session("tzusername")="" then
temptzuser=0
else
temptzuser=1
end if
%>
<script>
var tempus;
tempus=<%=temptzuser%>;
if (tempus==0)
{
alert("对不起,您还没有登陆!");
return;
}
</script>

当session("tzusername")="" 时,客户端的脚本的结果是:

<script>
var tempus;
tempus=0;
if (tempus==0)
{
alert("对不起,您还没有登陆!");
return;
}
</script>

这样当然就没有问题了。
divineka 2003-03-29
  • 打赏
  • 举报
回复
to:ShiningstarHu()
认真,明了,结帐,都有份

细节......生命......
ShiningstarHu 2003-03-29
  • 打赏
  • 举报
回复
按照你的方法
<% ss=session("username") %>

<script>
var aa;
aa=<%=ss%>;
alert(aa);
</script>
当然是有问题的!

当你的session("username") =""时
在客户端得到的脚本将变成

<script>
var aa;
aa=; //因为session("username") ="",所以这里的付值有问题了。
alert(aa);
</script>

为了解决这个问题,你可以这样该
将aa=<%=ss%>;改成

aa='<%=ss%>';

这样当一来,当session("username") =""时,你的客户端脚本将会是:
<script>
var aa;
aa='';
alert(aa);
</script>

结果得到一个内容为空的对话框。

divineka 2003-03-29
  • 打赏
  • 举报
回复
^0^

那我有点晕菜了,问题出在哪里呢?为什么在我这里就不行呢....
layewong 2003-03-29
  • 打赏
  • 举报
回复
真的,唯一不同的就是我把return 去掉了
divineka 2003-03-29
  • 打赏
  • 举报
回复
to: layewong(laye)

不可能吧,我郁闷了一上午了,怎么你那就没有问题呢?难道这和机器配置还有关?
divineka 2003-03-29
  • 打赏
  • 举报
回复
不需要在VBS中判断,按照我刚才写的第二种写法,一点问题也没有,我是想知道这样写
<% dim temptzuser
temptzuser=session("tzusername")
%>

那么,在JS中就是没法判断了吗?
layewong 2003-03-29
  • 打赏
  • 举报
回复
我用你第一种写法试过,好像没有错啊
divineka 2003-03-29
  • 打赏
  • 举报
回复
不支持,我试了
liuqinyi 2003-03-29
  • 打赏
  • 举报
回复
我不知道JS是否支持isnull
你可以这样写
<% dim temptzuser
if session("tzusername")="" or isnull(session("tzusername")) then
temptzuser=0
else
temptzuser=1
end if
%>
<script>
var tempus;
tempus=<%=temptzuser%>;
if (tempus==0)
{
alert("对不起,您还没有登陆!");
return;
}
</script>
divineka 2003-03-29
  • 打赏
  • 举报
回复
我不懂,如果按照第一种写法,在JS中应该怎么判断
加载更多回复(6)

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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