pushstate не работает правильно в backbone.js

Если я использую Backbone с pushstate, как мне форматировать ссылки?

В настоящее время я делаю это:

<a href="task/create">create task</a>

Если я использую вышеуказанный формат, он фактически отправляет запрос GET на сервер, который обслуживает стандартную страницу, и магистраль правильно определяет, что он должен перейти к task/create, что он и делает, и показывает представление.

Но почему он вообще отправляет запрос GET? (хотя я установил для pushstate значение true?)

edit: я использую последнюю версию Chrome (по состоянию на август 2011 года), поэтому, я думаю, мой браузер не проблема.


person iamgopal    schedule 27.08.2011    source источник


Ответы (2)


хорошо, получил ответ отсюда. https://github.com/documentcloud/backbone/issues/456

Щелчок по ссылкам не должен быть дружественным к pushstate. можно попытаться связать его с помощью jquery и использовать пользовательскую функцию для создания этого эффекта.

person iamgopal    schedule 27.08.2011
comment
Даже если вы использовали только «hashchange», вероятно, не стоит полагаться на ссылки, чтобы защитить ваше приложение в будущем. - person Johnny Oshika; 04.09.2011
comment
На самом деле, защита от будущего — это именно то, что вы будете делать, используя ссылки. Если ваши магистральные маршруты совпадают с маршрутами ваших приложений, то ссылки будут работать, даже если JavaScript отключен или вас сканирует поисковая система. - person Scott Greenfield; 19.11.2011

На случай, если другим читателям понадобится дополнительная информация о маршрутизации, есть целая глава, посвященная объяснению маршрутизации, доступная на страницах 32-46 здесь: http://samples.leanpub.com/marionette-gentle-introduction-sample.pdf (полное раскрытие: я автор книги)

person David Sulc    schedule 20.05.2013