| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4811 人关注过本帖
标题:关于 ajax 为 session 赋值成功可是 session 值为什么为空啊 重新修改下请 ...
只看楼主 加入收藏
tbq513001
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2014-9-12
收藏
 问题点数:0 回复次数:2 
关于 ajax 为 session 赋值成功可是 session 值为什么为空啊 重新修改下请大神们分解下
上面说到就是制作了一个贴吧.主要的就是要发贴就必须要登录之后才能发表贴子 ,做了两个简单实现文件   发表文件 abc.asp  后台文件 123.asp :
abc.asp  中就只有两个按钮  一个是登录,一个是发表

   首先我打开abc.asp 后也就是未登录,里面的<%=session("quan")%>那就是等于空,所以点发表时就会弹出请登录的提示框,那么要发贴那就先登录吧.好/点登录吧
由于使用的是ajax登录,所以在abc.asp页面中调用123.asp文件,123.asp文件中就是给session("quan")赋值为"兵权",并输出session("quan")  所以返回"兵权"
就在登录下面出现登录成功后显示的用户名"兵权"
    现在我已经登录了是不是可以发表
帖子了,可是点击时弹出的却还是为请登录,也就是说session("quan")在abc.asp这个网页中的值并没有随着登录后而改变.
当我刷新下abc.asp这个网页后,再点发表时弹出的就是"兵权"了,所以就是要刷新下网页abc.asp中的sission("quan")才有值,如果是这样那就不用搞ajax无刷新登录了,还不如直接用
asp表单登录的好.不知道各位高人们有没有遇到过这种情况或者是不是有很好的解决的方法.先谢谢各位高手了.... 两个文件如下:

abc.asp

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<script>
function Ajax(){
   var xmlHttpReq;
   if (window.ActiveXObject){
      xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
      }
   else if (window.XMLHttpRequest){
      xmlHttpReq = new XMLHttpRequest();
      }
   if (xmlHttpReq != null){
      xmlHttpReq.open("post","123.asp");
      xmlHttpReq.onreadystatechange = cxs;
      xmlHttpReq.send(null);
      }
   function cxs(){
   if (xmlHttpReq.readyState == 4 && xmlHttpReq.status == 200){
   document.getElementById("target").innerHTML = xmlHttpReq.responseText;
   }
 }
}
</script>
<script>
function  ack(){
var strSession = "<%=Session("quan") %>".toString();        
      if( strSession == "")        
      {           
      alert('请先登录');         
       return false;  
        }
        else {
        alert
        ("<%=session("quan")%>")
        return false;
        }
}
</script>
</head>

<body>
<input name="" type="button" value="登录" onclick="Ajax();" />
<input name="" type="button" value="发表" onclick="ack();" />
<div id="target"><%=session("quan")%></div>
</body>
</html>



123.asp

<%
response.charset="GB2312"
session("quan")="兵权"
response.Write""&session("quan")&""
%>
搜索更多相关主题的帖子: ajax 制作 
2014-09-13 06:27
蝙蝠之殇
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2015-1-29
收藏
得分:0 
你现在用的是同步机制的ajax,当用户点击发帖的时候,可能获取到的值还没有赋给dom元素(target);使用异步机制的ajax就可以解决这个问题了

生如夏花之绚烂,死如秋叶之静美
2015-03-17 18:06
ahjbliss1
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2015-4-3
收藏
得分:0 
话说   xmlHttpReq.open("post","123.asp");这个默认是同步吗? 语法不是XMLHtttpRequest.open(reqType,url,ture/false);true 异步,false同步
2015-04-05 18:00
快速回复:关于 ajax 为 session 赋值成功可是 session 值为什么为空啊 重新修 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017890 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved