Jquery 使用完整AJAX重置HTML页面

Jquery 使用完整AJAX重置HTML页面,jquery,html,Jquery,Html,我已经使用完整的ajax设置了一个在线银行系统。这意味着一切都发生在一个页面上 <div class="login"> <input type="text" class="username"> <input type="password" class="password"> <input type="submit" value="Login"> </div> <div class="dashboard"&g

我已经使用完整的ajax设置了一个在线银行系统。这意味着一切都发生在一个页面上

<div class="login">
    <input type="text" class="username">
    <input type="password" class="password">
    <input type="submit" value="Login">
</div>
<div class="dashboard">
    <div class="nickname"></div>
    <div class="balance"></div>
    <div class="transactions"></div>
</div>
请注意,我的标记、嵌套和复杂程度远远超过了
.html

我不希望在注销时只刷新页面。

通过不刷新页面,我无法删除HTML节点,例如
$(“.dashboard”).HTML()
,因为这会破坏任何在用户登录后将数据放入这些div的代码

我试图阻止的是,有人登录、注销,然后有人进来,并使用firebug/chrome开发控制台在源代码仪表板上达到峰值。当前发生的情况是,仪表板被隐藏,cookie被删除,并且显示登录名。仪表板中的数据未清除


是否有一种方法可以保存当前HTML页面,然后当用户注销时,我可以重置整个页面而不刷新?

我编写类似系统的方法是将登录页面分开。登录后,一切都由AJAX构建。注销时,用户将被发送回登录页面。使用一次性安全代码构建页面将停止返回浏览者的上一页


也就是说,我不知道如何避免使用类似
html(“”)
的东西,或者为什么这样的解决方案如此不受欢迎。可能
.remove()
-请参阅?

您可以使用web存储在缓存中存储数据,在用户登录时保存数据,捕获数据,填写表单,然后删除web存储中的数据

您可以克隆仪表板:

$('.dashboard-template').clone().addClass('dashboard').insertBefore('.dashboard-template');

然后填写相关信息,并在注销时将其删除。

不要在未登录时将仪表板置于
甚至隐藏状态。
如果不存在,则当有人登录时,仪表板中的元素将不会加载。在页面加载时,
仪表板
的内容只是即将成为敏感信息的模板。谢谢!我考虑过这一点,但它不会完全是ajax。唯一的页面是
index.html
,没有服务器端参与(仅在XHR中)。我可以使用<代码> .html('')< /C>来清除,但这将是困难的,因为有太多的因素需要考虑。我想将其重置为原始状态。@DaveChen能否将()仪表板和html()登录名删除为默认值?您可以从头开始为每个登录创建dashboard元素。谢谢!我最终拥有了一个主显示
视图
,并从模板中克隆了我需要的任何组件(这些组件总是隐藏的)+1并接受。
$('.dashboard-template').clone().addClass('dashboard').insertBefore('.dashboard-template');