提问人:Oleksandr Verhun 提问时间:8/17/2014 更新时间:8/17/2014 访问量:66
刷新页面后,表格的行将返回到其位置
The rows of table are back to their places after refreshing page
问:
我正在制作一个功能,您可以使用该功能交换表中的行。它工作得很好,但是刷新页面后,如果我交换了一些行,这些行就会回到交换之前的位置。我想知道,为什么会发生这种情况以及如何避免这种情况。如果有人需要它,这是该功能的代码:
swapRows = function(rowTable) {
rowTable.find(".glyphicon-sort").click( function() {
row = $(this).closest("tr");
row.insertBefore( row.prev() );
} );
}
答:
2赞
An Phan
8/17/2014
#1
发生这种情况是因为刷新后,您的页面会返回到其初始状态(来自服务器或缓存),呃。
要保留状态,您有几种选择:AJAX(这样您就不会刷新页面),或者HTML5历史状态操作,或者本地存储等,恐怕所有这些都超出了这个问题的范围。
评论
0赞
Oleksandr Verhun
8/17/2014
我对ajax很熟悉,你能解释一下或举个例子吗,我怎样才能保存状态?
0赞
An Phan
8/17/2014
我的意思是,您可以将 AJAX 用于来自此页面的请求,这样用户就不会离开它,并在返回时刷新页面。但是,在这种情况下,并不是说您可以使用 AJAX 来保存状态。
0赞
Shukhrat Raimov
8/17/2014
@user3130843我认为您应该使用 cookie 来保留特定问题中的状态,因此当您刷新页面时,Web 浏览器将读取已交换的特定行的 cookie 信息,并相应地交换它们。您可以直接在 javascript 或服务器中创建 cookie。希望这会有所帮助。
1赞
Shukhrat Raimov
8/17/2014
#2
发生这种情况是因为jQuery是一种客户端技术,并且数据不会在请求之间持久化。刷新页面时,向服务器发出新请求,服务器又以具有默认状态的新页面(.html)进行响应。 为了在请求之间保存这些数据,您可以使用cookie。
评论