如何读取、和写入查询字符串?
var pageNumber = QueryString['pageNumber'];
var pageSize = QueryString['pageSize'];
$('#next').click(function() {
QueryString['pageNumber'] = ++pageNumber;
refresh();
});
function refresh() { /** get data and update page here **/ }
当然,这将允许用户复制和粘贴包含部分程序状态的 URL。
是否有类似于QueryString
(上面使用的)的API?
最佳答案
正如 Richard 提到的,通过分配给 window.location.search 来更改查询字符串将触发页面重新加载。
因此,通常的做法是在片段标识符中编码客户端状态(“哈希路由”,与旧版浏览器兼容)或使用 history.pushState 操作路径。 (HTML5 的一部分)。 PushState 需要服务器端支持,通常采用通配符路由的形式。
诸如Director之类的库或Backbone Router提供适用于任一技术的抽象。
更新 在研究这个答案之前我并不知道这一点,但可以通过 PushState 操作查询字符串(考虑到它是 URL 的一部分,这是有道理的)。作为 this demo 的作者指出,这允许使用 PushState 而无需任何特殊的服务器端支持。
关于javascript - 如何在 URL 查询字符串中存储程序状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16869033/