Создание закладок и перезагрузка страницы с помощью Backbone.js и pushState

Я пытался добавить в закладки различные маршруты в своем приложении, и это возможно, если у меня не включен pushState. Пользователь может ввести mysite.com/#/view/30, и отобразится правильный вид.

Однако, если я включу pushState и перейду на mysite.com/view/30, я получу ошибку синтаксического анализа (переход туда через корневую страницу работает нормально).

В настоящее время я использую шаблон Backbone.js с использованием Require.js, и в моем файле config.js появляется ошибка синтаксического анализа. Я совершенно уверен, что проблема не в Require, но я не совсем уверен. Честно говоря, я не обязательно знаю, какой код сюда вставить, потому что я считаю, что мне больше не хватает фундаментального понимания разницы между hashbangs и pushState.

Я прочитал о функции HTML5, однако ответ на мой конкретный вопрос все еще ускользает от меня.


person Smokin Joe    schedule 02.07.2012    source источник


Ответы (1)


Страница с включенным маршрутизатором Backbone не существует по пути, на который вы указываете в pushState. PushState предназначен исключительно для изменения представления URL. Вам нужно будет внести некоторые изменения в конфигурацию сервера, чтобы направить все ваши запросы обратно в основной индексный файл.

person John    schedule 15.08.2012
comment
Что ж, я использую CodeIgniter в качестве фреймворка, и у меня есть настроенные маршруты, которые по существу дублируют маршруты, которые я настроил на своем маршрутизаторе Backbone. Однако они по-прежнему ведут себя не так, как я ожидаю, если только я не использую хеш-банг. - person Smokin Joe; 24.08.2012