2014-01-10 3 views
0

Возможно ли сделать Ajax Deep Linking без символа hash (#) в URL. Зная, что мои URL не указывают на какой-либо контроллер/действие на сервере.Ajax глубокая привязка без знака hash

Например, как Stackoverflow или Soundcloud управляют URL-адресом?

Любая помощь будет оценена

+0

Downvoters, пожалуйста, оставьте свой комментарий, чтобы я мог обновить свой вопрос. – Merlin

+0

Я не могу говорить за downvoter (только один из этих писем), но один человек проголосовал за закрытие «непонятно, что вы просите», и два люди проголосовали за закрытие «слишком широко». Не моя область знаний, поэтому у меня нет мнения, я просто передаю информацию как FYI, так как вы запросили отзывы. –

ответ

3

Вы можете использовать строку запроса, но # лучше, так как он не дает появление различных ресурсов на сервере.

Stackoverflow не использует Ajax (afaik) для загрузки страниц (если бы они это сделали, они использовали бы технику ниже). Я не знаю, что делает Soundcloud, поскольку я их не использую.

Twitter и Github используют history api (pushState и друзей), но заполняют сервер начальной загрузки страницы (т. Е. Не загружают страницу по умолчанию, а затем перезаписывают ее с использованием JavaScript).

Выполнение этой серверной части таким образом является предпочтительным. Он быстрее загружает запрошенный контент (и без ошибки домашней проблемы), продолжает работать, если JavaScript fails, и является поисковой системой.

+0

Я попытался использовать историю api с pushstate, и она работает для кнопки назад или закладки браузера. Но когда я обновляю страницу, я получаю ошибку 404. Как я могу обработать кнопку обновления?? – Merlin

+0

Как я уже сказал, вам нужно заполнить сервер страниц. – Quentin

+0

Хорошо, я не уверен, что у меня есть ответ на 100%, но я понимаю, что должен предоставить сервер страниц. спасибо – Merlin

Смежные вопросы