2017-02-24 6 views
-1

Ich habe ein Problem auf meiner Seite. Ich habe einen Prozess eingerichtet, so dass jedes Mal, wenn Sie ein Suchfeld ankreuzen, die Seite Inhalte zu diesen Begriffen lädt und auch die URL gemäß den Begriffen ändert.Geschichte pushState() stapeln

Das Problem ist im Moment, dass ich keinen Weg finden kann, nur einen Teil der URL zu ändern.

Der Code ist wie folgt:

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

data = searchterm; 

history.pushState(null, null, data); 

Was dies tut, ist die URL von

http://localhost:8000/fi/search_test 

zu

http://localhost:8000/fi/5 

Ich habe versucht, das Hinzufügen machen die search_test in der pushState auch, aber dies führt zu gehen von

http://localhost:8000/fi/search_test 

zu

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

in

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

Jede Hilfe

+0

Versuchen Sie, eine Abfragezeichenfolgeflag hinzufügen? Wenn ja: https://stackoverflow.com/questions/24465030/add-query-string-using-pushstate –

Antwort

0

ich wäre besser zu fangen Pfadname (dh appriciated. "/ Fi/search_test /" mit Schrägstrich endet) mit:

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

Dann

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