历史pushState()堆叠

时间:2017-02-24 12:00:04

标签: javascript jquery pushstate

我的页面出现问题。我已经设置了一个流程,因此每次勾选搜索字词框时,页面都会加载这些条款的内容,并根据条款更改网址。

现在的问题是,我找不到一种方法只能改变网址的一部分。

代码如下:

 $('input[name*=malli]').change(function(e) {
// Code that loads the content

data = searchterm;

history.pushState(null, null, data);

所以这样做,是从

创建网址
http://localhost:8000/fi/search_test

http://localhost:8000/fi/5

我已尝试将search_test添加到pushState中,但这会导致从

开始
http://localhost:8000/fi/search_test

http://localhost:8000/fi/search_test/5

进入

http://localhost:8000/fi/search_test/5/search_test/5-8

任何帮助都是适当的

1 个答案:

答案 0 :(得分:0)

我最好抓住路径名(即。" / fi / search_test /"结尾斜线!):

var search_text_path = window.location.pathname || "/fi/search_test/";

然后

 $( 'input[name*=malli]' ).change( function() {
     data = search_text_path + encodeURIComponent( this.value );
     history.pushState( null, null, data );
 });