Как я могу сохранить полный URL-адрес, который содержит хеш-метку в переменной? - PullRequest
0 голосов
/ 02 ноября 2009

Я пытаюсь сохранить URL, например:

http://localhost/pro_print/index.php#page=home

в переменной, но я не могу найти функцию, которая делает это. Я нашел множество решений для хранения index.php, но он не включает хешмарк и то, что следует за ним. Есть ли для этого решение PHP?

Я видел, что могу получить полный URL, включая хэшмарк, с помощью javaScript, используя document.write(document.url) или document.write(location.href), но как мне сохранить это в моей переменной? Можно ли как-нибудь совместить PHP с javaScript в каком-то подобном решении?

<?php $url ="?><script>document.write(document.url)</script><?php "?>

1 Ответ

3 голосов
/ 02 ноября 2009

Идентификатор фрагмента (# и все, что появляется после него) обрабатывается полностью на стороне клиента и не отправляется на сервер при запросе URI.

Чтобы сделать его доступным для PHP, вам необходимо:

  1. Разрешить загрузку страницы
  2. Прочитать местоположение с помощью JavaScript
  3. Отправьте его на сервер, используя технику Ajax (например, XMLHttpRequest) или в последующем запросе

Это не сделает его доступным для сервера во время выполнения оригинального сценария, но больше ничего не может.

Альтернативный подход заключается в дублировании информации в идентификаторе фрагмента где-то еще в URI (например, в строке запроса). Этот сайт используется при отправке ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...