JQuery: submit()放在ready()成功登录OK,但是登录失败就会不断刷新页面,为何?

下面的页面是一个自动登录的页面,我是通过"/project/nologin"地址访问这个页面
submit()放在ready()里
如果成功登录,结果如期望,是OK的,
但是这个时候点退出的话,页面就会重新自动登录进去
更麻烦的是如果登录失败就会不断刷新页面,且刷新访问的链接是"/project/nologin"(我觉得即便是要不断刷新,访问的链接也应该是"/project/login"才对)
怎么回事?

<html>
<head>
<script>
    $(document).ready(function () { 
        $("#mainForm").submit();
        $("#mainForm").hide(); 
    });

</script>
</head>

<body>
  <iframe name="theFrame" width="60%" height="60%" id="theFrame"></iframe>
  <div id="mainDiv">
    <form target="theFrame" action="/project/login" method="post" id="mainForm">
      <input type="hidden" id="username" name="username" value="myname">
      <input type="hidden" id="password" name="password" value="mypasswd">
    </form>
  </div>
</body>
</html>
阅读 3.1k
3 个回答
$(document).ready(function () { 
    $("#mainForm").submit();
});

我都不想回答你这个问题了 ==!

其实已经指出问题了,这个自动登录有点直接,最简单的至少在Cookie里 存个bAutologin 类似的判断下是否要自动登录吧。
我感觉不断刷新,也是跟下面差不多了:

     $(document).ready(function () {
        console.log("init submit");
        window.location.reload();
    });

建议你看一下别人实现自动登录的处理。你这个确实有一点简单粗暴啊!
一般的逻辑是:
通过cookie记录一点信息,来判断是否需要自动登录,这样如果读到相关信息,就实施自动登录,否则就禁止了,这样即可以解决自动刷新问题,也可以给用户充分的选择权(只要用户主动退出,一般会设置为不自动登录)
注意自动登录设置和保存用户信息其实是两种状态级别。
要先有保存用户信息,才能自动登录

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题