Соедините PHP с AJAX-состояниями - PullRequest
0 голосов
/ 19 июня 2010

У меня загадочная проблема с попыткой создать программу в состоянии ajax / static. То, что я пытаюсь сделать, это позволить статически связанному приложению иметь динамические URL-адреса ajax, и все будет нормально, пока страница не обновится.

Проблема:

PHP не видит хеш, поэтому видит только исходный запрос URI. Таким образом, PHP загружает исходную страницу, но затем JQuery (Javascript) заменяет эту страницу той, которая мне нужна после #. Пример:

url: localhost / index.php #! / Search

Это нормально, чтобы перейти на эту страницу, но нажатие кнопки обновить php приводит к:

url: localhost / index.php

, а затем javascript:

url: #! / Search

Итак, я загружаю две страницы ... это отстой.

Это проблема, которая, должно быть, возникла, и я заметил, что Facebook сделал это, чтобы помочь загрузить время (по той же причине, по которой я хочу это сделать). Насколько я могу судить, они способны надежно обнаружить хеш и заменить $ _SERVER ['REQUEST_URI'] его содержимым, поэтому при обновлении вы получаете localhost / search из localhost / index.php #! / Search.

Мне было интересно, есть ли у кого-нибудь небольшое исправление для этого. Я заглянул в javascript на стороне сервера, но после долгих поисков я не смог получить четкую картину.

Заранее спасибо

1 Ответ

0 голосов
/ 19 июня 2010

Сам браузер даже не отправляет хэш-часть URL-адреса при отправке запроса. Вам все равно нужно будет загрузить две страницы. Лучшее, что вы можете сделать, это сделать изначально загруженную страницу простым статическим HTML-загрузчиком Ajax. Таким образом, начальная загрузка страницы кешируется, требует мало ресурсов и быстро загружается.

...