#2
蝙蝠之殇2015-03-17 18:06
|
上面说到就是制作了一个贴吧.主要的就是要发贴就必须要登录之后才能发表贴子 ,做了两个简单实现文件 发表文件 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")&""
%>