Я использую KnockoutJS с SammyJS для одной страницы применение.
В html у меня есть тег формы, как показано ниже
<form data-bind='submit: search'>
<label>Find user:</label>
<input data-bind='value: name' />
</form>
и в моей модели представления объявлены две функции и URL-адрес маршрута sammy
function ViewModel() {
var self = this;
self.name = ko.observable("");
self.search = function () {
alert(self.name);
};
Sammy(function () {
this.get('#:id', function () {
//do something....
});
}).run();
}
ko.applyBindings(new ViewModel());
Весь код работает хорошо, пока я не наберу что-то в текстовом поле, а затем не отправлю форму. Я не ожидал просмотра URL-адресов после окна предупреждения, но URL-адрес изменился на что-то вроде этого «http://localhost:8258/undefined?» мой исходный URL-адрес "http://localhost:8258"
Я сомневался в маршрутизации URL-адресов Sammy, поэтому удалил код Sammy из кода javascript, после чего URL-адрес не меняется после окна предупреждения. Может я не понимаю как работает sammy.
Как предотвратить изменение URL в этом случае?