AJAX переходы по ссылкам

Вопросы по вёрстке и JavaScript
Ответить
udoben
Сообщения: 2
Зарегистрирован: 2012.12.03, 21:06

AJAX переходы по ссылкам

Сообщение udoben »

Подскажите пжлст как сделать на Yii такую структуру ссылок, чтобы автоматом навешивался JS, который будет загружать контент аяксом, менять URL в адресной строке ... В общем как сделать аяксовые ссылки на сайте? и где можно найти документацию?

PS: заранее спасибо
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: AJAX переходы по ссылкам

Сообщение samdark »

udoben
Сообщения: 2
Зарегистрирован: 2012.12.03, 21:06

Re: AJAX переходы по ссылкам

Сообщение udoben »

Sam Dark писал(а):Вроде такого? https://github.com/samdark/yii-fullajax
нет. это обычное использование ajax. мне в итоге нужно то же самое, как в ВКонтакте. Т.е. чтобы переходя по ссылкам не перезагружалась страница, но контент открывался другой страницы и при этом менялась ссылка в адресной строке.
yan
Сообщения: 942
Зарегистрирован: 2011.03.23, 09:28
Откуда: Уфа

Re: AJAX переходы по ссылкам

Сообщение yan »

нет вроде ничего такого в фреймфорке, может есть расширение для этого, вот например для подобной паджинации http://www.yiiframework.com/extension/rrviews
Аватара пользователя
Loki
Сообщения: 65
Зарегистрирован: 2011.01.16, 10:47
Откуда: Омск

Re: AJAX переходы по ссылкам

Сообщение Loki »

Что значит обычное использование ajax? Любое использование ajax – обычное, просто full-ajax приложения требуют более сложного подхода к проектированию фронтенда.

Серебрянной пули не найти, ибо каждое приложение уникально, и решение от другого подойдет далеко не всегда, нет компонента просто подключив который можно было бы превратить разом все стандартные ссылки в ajax потому что зачастую на страницах по которым осуществляется переход могут быть свои скрипты, которые вполне могут конфликтовать с имеющимися, либо возможно повторение id для некоторых элементов, либо что-то еще. Full-ajax приложения имеют несколько иную структуру нежели приложения работающие через стандартные url. БольшУю часть кода всё равно придется делать ручками.

Начать советую с осознания что вообще значит full-ajax, и организации API для взаимодействия клиента и сервера. Фреймворк позволяет достаточно гибко разделять ajax и не-ajax представления. Возможно не все JS компоненты фреймворка готовы к такому стилю взаимодействия и их придется частично модифицировать, но ведь очевидно что это достаточно нетривиальная задача?
На засыпку посоветую изучить например Backbone.js, ну и имеющиеся решения из репозитария плагинов Yii.
Аватара пользователя
MyskinD
Сообщения: 3
Зарегистрирован: 2015.08.12, 12:50

Re: AJAX переходы по ссылкам

Сообщение MyskinD »

Погодите.

У меня появилась подобная задача. Только, возможно, я озвучу ее немного иначе.
Есть одностраничное приложение, в котором контент подгружается через Ajax (товар из каталога). Естественно, никаких ссылок нет в приложении, кроме имени домена в браузерной строке.

А теперь внимание вопрос:
как организовать подгрузку контента так, чтобы можно было скинуть ссылку, по которой будет загруждаться одностраничное приложение с нужным контентом (товаром). (каждая уникальная ссылка должна соответствовать уникальному товару на главной странице)
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: AJAX переходы по ссылкам

Сообщение samdark »

Через HTML5 history API.
Аватара пользователя
MyskinD
Сообщения: 3
Зарегистрирован: 2015.08.12, 12:50

Re: AJAX переходы по ссылкам

Сообщение MyskinD »

Я организовал ссылки через hash.
site/#tovar/id_tovara

Далее js-ом принимал hash, обрабатывал его, и передавал полученные данные в ajax, тем самым подгружая нужный контент по этим данным. И если после загрузки hash очищался, то подставлял его в адресную строку еще раз. Тем самым создал впечатление работающих ссылок. Эти же ссылки можно скопировать и переслать любому пользователю, который, перейдя по ним, подгрузит нужный товар на главной странице при первом запуске.

Пример:
http://site.loc/#tovar/3

Код: Выделить всё

<script>
   var hash = location.hash.replace(/#tovar/g, ''); // находим нужный хэш
   var tovarId = hash.split('/').splice(1, 2).join(''); // разбираем его, для получения id товара
</script>
Nichrayzi
Сообщения: 1
Зарегистрирован: 2015.09.03, 20:42
Откуда: Россия
Контактная информация:

AJAX переходы по ссылкам

Сообщение Nichrayzi »

Ребят может подскажете, возникла потребность, брать из файла переменную при помощи ajax и влаживать эту переменную в php запрос, можете подсказать как это можно реализовать?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: AJAX переходы по ссылкам

Сообщение zelenin »

Nichrayzi писал(а):Ребят может подскажете, возникла потребность, брать из файла переменную при помощи ajax и влаживать эту переменную в php запрос, можете подсказать как это можно реализовать?
сначала корректнее опишите задачу.
Ответить