Я работаю на веб-сайте, где мы используем сторонние веб-службы, чтобы возвращать динамический контент и использовать javascript для разбора и отображения этих данных на странице. Мы уже используем магистраль в нескольких местах на сайте для публикации данных в веб-сервисах, поэтому я подумал о том, чтобы попытаться использовать маршрутизатор Backbone для запуска определенных функций на основе URL-адреса страницы и захвата запроса, потому что мы передаем запросы к url страницы.Магистральная маршрутизация со статическими HTML-файлами
Например: глобальный сайт-search.html # запрос
Это код маршрутизатора я должен к этому моменту:
var Router = Backbone.Router.extend({
routes : {
'' : 'indexRoute',
'global-site-search.html(:query)' : 'getSearchResults'
},
indexRoute: function(query) {
console.log("indexRoute");
},
getSearchResults: function(query) {
console.log("getSearchResults with query", query);
}
});
var WaRouter = new Router();
Backbone.history.start({
pushState: true,
root: '/'
});
Но когда я попал на страницу с URL, как на общемировом site-search.html # query значение запроса возвращает null. Кто-нибудь пробовал это раньше или я пытаюсь расширить маршрутизатор Backbone до того, чтобы справиться с этим?
глобального МЕСТО-поиск. html с сервера. Я установил маршрутизатор таким образом, потому что будет еще одна страница location-lookup.html, которая делает то же самое только с поиском местоположения. Таким образом, мой план состоял в том, чтобы установить это как маршрут, который приведет к срабатыванию функции, которая получает данные для поиска местоположения, и почему я установил корень в '/'. – user2356346
Проверьте мое обновление. –
Это работает, но он запускает этот маршрут на любом хэшированном URL-адресе, который вызывает проблемы на других страницах. Думаю, мне нужно написать более настраиваемый маршрутизатор, который будет запускаться только на определенных страницах. – user2356346