使用Javascript压缩URL中的AJAX哈希

时间:2012-05-08 07:31:45

标签: javascript ajax url compression

我正在研究一个使用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发送到服务器时将其解压缩?

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

0 个答案:

没有答案