1

我正在开发一个使用 Knockout 和 Sammy 来记录 AJAX 历史的 AJAX 应用程序。该应用程序使用一组过滤器、排序选项和分页来让用户搜索 35000 条记录。

当前 URL 哈希采用以下形式:

http://domain/Search/{SearchTerms}/PageIndex

例如:

http://localhost/search/#0%20-%205%C4%80square%20meter/1

在服务器上解析搜索词以将它们与可用的过滤器相匹配。我不能使用 ID 或其他东西,因为过滤器集每天都在重建(当后端数据更新时),唯一保持不变的是描述。

这是构建哈希的 javascript 代码:

var hash = '';

ko.utils.arrayForEach(self.SelectedItems(), function (item) {
    hash = hash + item.Description + ' ';
});

hash = encodeURIComponent($.trim(hash));
hash = hash + '/' + self.HuidigePagina();

location.hash = hash;

问题是加入所有项目描述可能会变得非常长。有没有办法可以压缩这部分,然后当我用 javascript 将它发送到服务器时解压缩它?

我在使用 LZW 压缩的 stackoverflow 上找到了一些答案,但它并没有给我原来的字符串。

4

0 回答 0