我是jQuery和JavaScript的新手,我陷入困境,所以我需要坐在那里的智能大脑的建议。我有登录之前向用户显示的div。
%}
我希望在用户成功登录后,将此div替换为最初隐藏的另一个div。
Div替换为:
<div id="login" class = "login">
<ul>
<li><a href="signup.html">Login</a></li>
</ul>
</div>
我在jQuery中执行以下操作(现在我已经使用硬编码的用户名/密码值来解释我的问题)。
我在点击登录按钮时调用auth功能。用户单击登录按钮后,我希望页面重新加载,并且#login div将被#welcomeLogin div替换,以便向用户显示新的URL。但问题是#welcomeLogin div确实出现了几秒钟,然后因为我已经<div id="welcomelogin" class = "login" style="display: none;">
<ul>
<li><a href="profile.html">Welcome abc</a></li>
</ul>
</div>
而消失了。
我还希望在身份验证成功后重新加载页面,然后显示#welcomeLogin div直到会话保持不变。所有这些都是在location.reload
$( document ).ready();
答案 0 :(得分:1)
当您致电location.reload()
时,页面会刷新。这意味着客户端上的任何其他内容(即任何程序javascript)可能都有时间运行,但这只是因为浏览器刷新页面的时间。
你可以在页面加载时调用这个javascript函数,并监视某种状态,如果你希望看到'持久'某些DOM的更改(例如交换div)到页面的下一个“版本”。 / p>
我想跟进一个推荐的(替代)方式在javascript中这样做,但老实说,我不确定这是最好的方法进行身份验证。
我建议使用表单帖子,并且已经有可用于实现基于表单的身份验证的组件,具体取决于您在服务器上的内容。
答案 1 :(得分:1)
在你改写页面之后,一切都进入了初期。你的auth函数将停止然后重新加载每个js文件。