Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ссылка в Ajax с другой страницы
 
 автор: Mefisto84   (04.02.2010 в 02:43)   письмо автору
 
 

Здравствуйте.
Никак не получается реализовать вот такую штуку. Есть страница с новостями, реализованная при помощи AJAX'a, то есть названия новостей в виде ссылок, ниже div в который вставляется новость при нажатии на название. Это все работает. На другой странице так же перечислены названия новостей ссылками. Мне нужно что бы при нажатии на название новости на "другой" странице делался переход на страницу с новостями, но в div'e уже была загружена выбранная новость. Вот этого сделать у меня не получается. Другими словами, как должна выглядеть ссылка с "другой" страницы на страницу с новостями, что бы срабатывал AJAX. Надеюсь объяснил понятно проблему. Спасибо за помощь.

  Ответить  
 
 автор: АЯ   (04.02.2010 в 03:04)   письмо автору
 
   для: Mefisto84   (04.02.2010 в 02:43)
 

"Страница с новостями" должна получить от "страницы со ссылками на новости" информацию о том - какую новость следует загрузить в DIV.
Есть несколько способов такой передачи.
Укажу три самых очевидных:

Способ 1. Передаете эту информацию в виде QUERY_STRING, а на "странице с новостями" по onload этот QUERY_STRING разбираете и запускаете AJAX для подгрузки этой новости в DIV. Этот способ разъяснен здесь.

Способ 2. По клику на ссылку (onclick) ставьте юзеру куки, в которые поместите информацию о ссылке, кою надо на "странице с новостями" подгружать в DIV. По onload "страницы с новостями" читаете куки и запускаете AJAX.

Способ 3. Ссылка на новость на "страницы со ссылками на новости" должна запускать скрипт, который будет сабмитить невидимую форму, которая методом POST передаст "странице с новостями" информацию о той новости, кою надо поместить в DIV.

Всё перечисленное (читать QUERY_STRING, читать куки, и, разумеется, читать POST-данные) можно прямо на сервере и выдавать браузеру "страницу с новостями" сразу с загруженной новостью.

  Ответить  
 
 автор: Mefisto84   (04.02.2010 в 03:29)   письмо автору
 
   для: АЯ   (04.02.2010 в 03:04)
 

И об этом я тоже думал, может чего не догоняю. Но ведь получая страницу к примеру с QUERY_STRING, делаю проверку, какую новость надо открыть, то есть адресная строка выглядит примерно так: ...id?5 С этим проблем не будет, все загрузится. Но потом, прочитав эту новость(мы же находимся в рзделе новости), и решив прочесть еще одну, жмем на её название, ссылка в браузере не меняется, так как перезагрузки нет, ведь тут AJAX работает, в адресной строке висит все тот же QUERY_STRING. И получается что другая выбранная новость подгружается в этот же див, в котором висит старая новость. А убрать её нельзя так как в скрипте проверка на QUERY_STRING, и скрипт видит что выбрана новость №5 и её надо подгрузить. Или я что-то не так делаю? То же самое мне кажется и на счет метода POST, точно так же эта переменная будет висеть в памяти и постоянно подгружаться. В чем я не прав, что делаю может быть не так?

  Ответить  
 
 автор: АЯ   (04.02.2010 в 05:08)   письмо автору
 
   для: Mefisto84   (04.02.2010 в 03:29)
 

Не вижу проблем вообще.

Чтение QUERY_STRING должно происходить ОДИН РАЗ - по загрузке страницы. И это отдельная функция, которая по окончании работы вызовет AJAX-функцию с параметром (номером ссылки), прочитанным из QUERY_STRING.
Прочие нажатия на ссылки новостей на этой же странице будут сразу вызывать AJAX-функцию со своими параметрами (номерами ссылок).

Я по-быстрому "сварганил" три файлика с примером работы по первому способу - http://codecenter.awardspace.com/pagenews.html

  Ответить  
 
 автор: Mefisto84   (04.02.2010 в 05:22)   письмо автору
 
   для: АЯ   (04.02.2010 в 05:08)
 

Хм, действительно. Спасибо большое, буду значит пытаться дальше. Еще раз спасибо.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования