ajax登陆后保持隐藏状态的问题!!!
这里的login登陆是首页的一部分,我想通过ajax实现当登陆成功后,隐藏登陆框,且再刷新时保持隐藏的状态,但在firefox下登陆没有问题,也能保持登陆后login部分隐藏的状态,但在ie,chrome中只能每一次登陆成功,再刷新时无法保持登陆后login部分隐藏的状态。
登陆页面脚本
JScript code
<script type="text/javascript">
function myAjax() { //做成函数当判断验证成功后,再次调用,以保持隐藏状态
$.post("loginServices.ashx", { username: $('#username').val(), password: $('#password').val() }, function (data, textStatus) {
if (data != 0) {
$('#username').hide();
$('#password').hide();
$('#message').empty().append("<p>登录成功!</p>");
$('#message').append("<sapn id="logout">注销!</span>");
......
}
else {
$('#username').show();
$('#password').show();
$('#message').empty().append("<p>用户密码错误!</p>");
}
});
}
$(document).ready(function () {
$("#mylogin").submit(function () {
if (($('#username').val() == "") || ($('#password').val() == "")) {
$('#message').append("<p>用户密码不能为空!</p>");
}
else {
myAjax();
}
return false;
});
});
</script>
后台代码
C# code
protected void Page_Load(object sender, EventArgs e)
{
if (User.Identity.IsAuthenticated)
{
if (!ClientScript.IsStartupScriptRegistered("myscript"))
{
ClientScript.RegisterStartupScript(this.GetType(), "myscript", "<script type='text/javascript'>myAjax();</script>");
}
}
}
loginServices.ashx服务
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string name= context.Request.Form["username"].ToString();
string passwd = context.Request.Form["password"].ToString();
if( ..验证成功)
{
FormsAuthentication.SetAuthCookie(name,false);
context.Response.Write("1");
}
else
{
context.Response.Write( "0");
}
}
试着调试loginServices.ashx第一次登陆没有问题,但再刷新时
string name= context.Request.Form["username"].ToString();
string passwd = context.Request.Form["password"].ToString();
name,passwd均为null,页面显示“用户密码错误!”,因为第一次和刷新时都调用myAjax()函数,说明脚本没有问题,请高手指点!!!
------解决方案-------------------- $(document).ready(function () {
$("#mylogin").submit(function () {
if (($('#username').val() == "") || ($('#password').val() == "")) {
$('#message').append("<p>用户密码不能为空!</p>");
}
else {
myAjax();
}
return false;
});
});
为什么每次刷新都试图提交一次?
------解决方案--------------------我觉得LZ