![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| BrokenEye |
|
||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 9.7.2009 Репутация: нет Всего: нет |
*понимаю, что понаписал много, но по другому, мне кажется, будет не понятна суть проблемы
Всем доброго времени суток Столкнулся с некоторой проблемой, суть которой я попытаюсь тут изложить. В результате экспериментов я пришел к выводу, что проблема, вероятно, кроется в mod_rewrite и отсылке запроса посредством AJAX. Однако в чем конкретно заковырка я так и не понял. Да, знание механизмов работы mod_rewrite и ajax у меня находится не на самом высоком уровне и, уверен, некоторые детали для меня являются упущенными, тем не менее я питаю скромную надежду на устранение этих пробелов и решение моей проблемы Итак собственно перехожу к сути вопроса. Имеются следующие rewrite правила:
Т.е. мы устанавливаем параметр page по которому в дальшейшем определяем на какой странице мы находимся. Определяем мы это в файле index.php
Суть заключается в том, что подключаемые main.php либо news.php вытаскивают из базы однотипную информацию, заполняют массив $arr, который в дальнейшем сохраняется в сессионной переменной. Для чего я это сделал: Дело в том, что данные, запрошенные из базы скриптами main.php или news.php, в дальнейшем используются скриптом вызываемым посредством AJAX. Назовем его backend.php. Т.е. таким образом я хочу избавиться от необходимости повторного обращения к базе из скрипта backend.php, т.к. это требует дополнительных временных затрат, а время в моем случае критично. Лучшего механизма ускорить обработку ajax запроса я пока не придуал Для пущей ясности я приведу пример. Предположим, что main.php или news.php запрашивают список студентов. Из базы выбираются id студента, его фамилия и имя и еще куча параметров, часть которых мне бы не хотелось передавать в AJAX запросе. Так вот скрипту backend.php передается id студента, по которому, он выбирает данные о нем из ранее созданной сессионной переменной $_SESSION['data'] В общем, возможно, все это попахивает извращением, однако таково положение дел)) Теперь к самой сути проблемы. При таком положении вещей backend.php ВСЕГДА получает данные сгенерированные скриптом main.php. Даже, если мы выполняли AJAX запрос со страницы news. Эксперименты показали, что при отключении правила
При этом не важно сколько у меня будет страниц, генерирующих однотипные данные. Загвоздка всегда будет в этом rewrite правиле и include('main.php'). Т.е. у мня такое ощущение, что при AJAX запросе каким то образом "цепляется" вышеуказанное правило и вызывается index.php... Это мне не понятно. В логах rewrite я вижу, что при ajax запросе просматриваются все rewrite правила и выдается запись:
Может ли кто-нибудь объяснить мне в чем причина такого поведения? Заранее благодарен. Это сообщение отредактировал(а) BrokenEye - 10.7.2009, 04:55 |
||||||||||
|
|||||||||||
| Photon |
|
|||
|
Злобный программер ![]() ![]() Профиль Группа: Участник Сообщений: 282 Регистрация: 27.2.2009 Где: Таганрог Репутация: нет Всего: 12 |
А не проще направлять AJAX-запрос сразу файлу index.php и там обрабатывать?
З.Ы. И откуда нам знать, как ты посылаешь запрос? Может это вполне логичная работа mod_rewrite Это сообщение отредактировал(а) Photon - 11.7.2009, 03:53 -------------------- With best regards.. |
|||
|
||||
| BrokenEye |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 9.7.2009 Репутация: нет Всего: нет |
Не знаю правильно ли я тебя понял, но отправляя запрос в index.php я получаю тот же результат. Что касается AJAX запроса - он отправляется с загруженной страницы нажатием на кнопку. Сам запрос имеет примерно такой вид:
|
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |