AJAX переходы по ссылкам
AJAX переходы по ссылкам
Подскажите пжлст как сделать на Yii такую структуру ссылок, чтобы автоматом навешивался JS, который будет загружать контент аяксом, менять URL в адресной строке ... В общем как сделать аяксовые ссылки на сайте? и где можно найти документацию?
PS: заранее спасибо
PS: заранее спасибо
- samdark
- Администратор
- Сообщения: 9489
- Зарегистрирован: 2009.04.02, 13:46
- Откуда: Воронеж
- Контактная информация:
Re: AJAX переходы по ссылкам
Вроде такого? https://github.com/samdark/yii-fullajax
Нравится Yii? Давайте сделаем его лучше!.
Re: AJAX переходы по ссылкам
нет. это обычное использование ajax. мне в итоге нужно то же самое, как в ВКонтакте. Т.е. чтобы переходя по ссылкам не перезагружалась страница, но контент открывался другой страницы и при этом менялась ссылка в адресной строке.Sam Dark писал(а):Вроде такого? https://github.com/samdark/yii-fullajax
Re: AJAX переходы по ссылкам
нет вроде ничего такого в фреймфорке, может есть расширение для этого, вот например для подобной паджинации http://www.yiiframework.com/extension/rrviews
Re: AJAX переходы по ссылкам
Что значит обычное использование ajax? Любое использование ajax – обычное, просто full-ajax приложения требуют более сложного подхода к проектированию фронтенда.
Серебрянной пули не найти, ибо каждое приложение уникально, и решение от другого подойдет далеко не всегда, нет компонента просто подключив который можно было бы превратить разом все стандартные ссылки в ajax потому что зачастую на страницах по которым осуществляется переход могут быть свои скрипты, которые вполне могут конфликтовать с имеющимися, либо возможно повторение id для некоторых элементов, либо что-то еще. Full-ajax приложения имеют несколько иную структуру нежели приложения работающие через стандартные url. БольшУю часть кода всё равно придется делать ручками.
Начать советую с осознания что вообще значит full-ajax, и организации API для взаимодействия клиента и сервера. Фреймворк позволяет достаточно гибко разделять ajax и не-ajax представления. Возможно не все JS компоненты фреймворка готовы к такому стилю взаимодействия и их придется частично модифицировать, но ведь очевидно что это достаточно нетривиальная задача?
На засыпку посоветую изучить например Backbone.js, ну и имеющиеся решения из репозитария плагинов Yii.
Серебрянной пули не найти, ибо каждое приложение уникально, и решение от другого подойдет далеко не всегда, нет компонента просто подключив который можно было бы превратить разом все стандартные ссылки в ajax потому что зачастую на страницах по которым осуществляется переход могут быть свои скрипты, которые вполне могут конфликтовать с имеющимися, либо возможно повторение id для некоторых элементов, либо что-то еще. Full-ajax приложения имеют несколько иную структуру нежели приложения работающие через стандартные url. БольшУю часть кода всё равно придется делать ручками.
Начать советую с осознания что вообще значит full-ajax, и организации API для взаимодействия клиента и сервера. Фреймворк позволяет достаточно гибко разделять ajax и не-ajax представления. Возможно не все JS компоненты фреймворка готовы к такому стилю взаимодействия и их придется частично модифицировать, но ведь очевидно что это достаточно нетривиальная задача?
На засыпку посоветую изучить например Backbone.js, ну и имеющиеся решения из репозитария плагинов Yii.
Re: AJAX переходы по ссылкам
Погодите.
У меня появилась подобная задача. Только, возможно, я озвучу ее немного иначе.
Есть одностраничное приложение, в котором контент подгружается через Ajax (товар из каталога). Естественно, никаких ссылок нет в приложении, кроме имени домена в браузерной строке.
А теперь внимание вопрос:
как организовать подгрузку контента так, чтобы можно было скинуть ссылку, по которой будет загруждаться одностраничное приложение с нужным контентом (товаром). (каждая уникальная ссылка должна соответствовать уникальному товару на главной странице)
У меня появилась подобная задача. Только, возможно, я озвучу ее немного иначе.
Есть одностраничное приложение, в котором контент подгружается через Ajax (товар из каталога). Естественно, никаких ссылок нет в приложении, кроме имени домена в браузерной строке.
А теперь внимание вопрос:
как организовать подгрузку контента так, чтобы можно было скинуть ссылку, по которой будет загруждаться одностраничное приложение с нужным контентом (товаром). (каждая уникальная ссылка должна соответствовать уникальному товару на главной странице)
Re: AJAX переходы по ссылкам
Я организовал ссылки через hash.
site/#tovar/id_tovara
Далее js-ом принимал hash, обрабатывал его, и передавал полученные данные в ajax, тем самым подгружая нужный контент по этим данным. И если после загрузки hash очищался, то подставлял его в адресную строку еще раз. Тем самым создал впечатление работающих ссылок. Эти же ссылки можно скопировать и переслать любому пользователю, который, перейдя по ним, подгрузит нужный товар на главной странице при первом запуске.
Пример:
http://site.loc/#tovar/3
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>
AJAX переходы по ссылкам
Ребят может подскажете, возникла потребность, брать из файла переменную при помощи ajax и влаживать эту переменную в php запрос, можете подсказать как это можно реализовать?
<a href=http://traktorochek.ru/index.php?topic= ... инитрактор скаут gs t12mdif</a>
Re: AJAX переходы по ссылкам
сначала корректнее опишите задачу.Nichrayzi писал(а):Ребят может подскажете, возникла потребность, брать из файла переменную при помощи ajax и влаживать эту переменную в php запрос, можете подсказать как это можно реализовать?