Intereting Posts

получение полного URL-адреса, включая строку запроса после хэша

Как получить полный URL включая строковый параметр после hash tag ? Я пытаюсь эхо

 $url = $_SERVER['REQUEST_URI']; echo $url; 

строка после hash tag будет читать.

Комментарий Пекки должен быть ответом. Строковый параметр после хэш-тега не отправляется на сервер , это только для глаз браузеров.

Это означает, что серверный код (PHP, в вашем случае) не имеет этой информации. Клиентский код (браузер, javascript, …).

Идеально,

  • часть после? это информация для сервера . Поместите все, что нужно вашему серверу
  • часть после # – информация для клиента . Поместите все, что нужно вашему клиенту. Он называется Идентификатор фрагмента (спасибо Тиму ).

Исторически, часть после # чаще всего использовалась для быстрого перехода вашего браузера на определенный якорь на странице. В настоящее время он чаще используется для хранения информации о состоянии для клиента.

Вы можете отправить javascript этой информации на сервер или выполнить различные действия на основе этой информации. AJAX – ваш друг.

Хэш (строка, включая #) никогда не передается серверу, это исключительно поведенческое свойство браузера. Однако переменная $_SERVER['REQUEST_URI'] будет содержать остальные.

Если вам действительно нужно знать, что такое хэш, вам нужно будет использовать свойство document.location.hash JavaScript , которое содержит содержимое хеша (вы можете вставить его в форму или отправить на сервер с помощью ajax ). Вы можете передать полный URL-адрес, включая якорь (часть после #), используя функцию Javascript onload function которая отправляет этот URL конечной точке Ajax .

Вы также можете посмотреть здесь. Получить весь URL-адрес, включая строку запроса и привязку