【发布时间】:2012-02-15 08:40:19
【问题描述】:
我正在使用数据表 JQuery 插件。我将它与 AJAX 和分页(服务器端)一起使用。每行都包含指向该记录详细视图的链接。单击该链接然后单击后退按钮时,我想返回上一页。 (注意:不能使用数据表自己的状态保存)。
如果你可以在当前url被放入历史记录之前添加一个url参数,这是可以实现的。
这可以吗?纯 JS 或 JQuery 并不重要。
(注意:我在做这种事情时很新,已经阅读过关于使用 # 的信息,但从未这样做过,所以如果您建议请提供一个适用于我的问题的示例)
编辑:
JQuery 插件 bbq 非常基本的指南 (http://benalman.com/projects/jquery-bbq-plugin/)
假设 URL 的哈希值为 #a=2&b=test,您可以通过以下方式获取值:
//true = optional converts 2 to an integer, false to boolean,...
var a = $.bbq.getState('a',true);
您可以通过以下方式更改/添加值:
var hash = "a=3&b=hello";
$.bbq.pushState(hash);
pushState 触发 hashchange 事件以防它被绑定。绑定事件,但遵循 doucment.ready 函数:
// called when # part of URL is modified
$(window).bind( 'hashchange', function( event ) {
var hash = event.fragment; // full hash as string
var a = event.getState('a', true ); // value for a
// here do meaningful action like an AJAX request using the hash parameters
});
【问题讨论】:
标签: javascript browser-history http-request-parameters