Я могу считать часть хеша URL на моем приложении серверной стороны (PHP, Ruby, Python, и т.д.)?

Сначала нажмите на вкладку отладки, и вы увидите такой экран: -

enter image description here

Теперь вы увидите окно, подобное этому : -

enter image description here

На этом экране можно удалить точки останова, нажав кнопку (-). Чтобы удалить все точки разрыва, сначала выберите Параметр «Разрыв линии Java» Точка, а затем нажмите (-).

212
задан unor 14 August 2016 в 09:49
поделиться

5 ответов

Основная проблема заключается в том, что браузер даже не отправляет запрос с частью фрагмента. Часть фрагмента решается прямо в браузере. Таким образом, она доступна через JavaScript.

В любом случае, вы можете разобрать URL-адрес на биты, включая фрагмент, используя parse_url () , но это явно не ваш случай.

199
ответ дан 23 November 2019 в 04:30
поделиться

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

вы можете перенаправить его с помощью javascript на php.

3
ответ дан 23 November 2019 в 04:30
поделиться

Хэш никогда не отправляется на сервер, поэтому нет.

26
ответ дан 23 November 2019 в 04:30
поделиться

Его можно получить из Javascript - как window.location.hash . Оттуда вы можете отправить его на сервер, например, с помощью Ajax, или закодировать и поместить в URL-адреса, которые затем можно будет передать на сервер.

48
ответ дан 23 November 2019 в 04:30
поделиться

Простой тест, доступ к http: // localhost: 8000 / hello? Foo = bar # this-is-not-sent-to-server

python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"
Serving HTTP on 0.0.0.0 port 8000 ...
localhost - - [02/Jun/2009 12:48:47] code 404, message File not found
localhost - - [02/Jun/2009 12:48:47] "GET /hello?foo=bar HTTP/1.1" 404 -

Сервер получает запрос без #appendage - все, что находится после хэш-тега, является просто поиском привязки на клиенте.

Вы можете найти имя привязки, используемое в URL-адресе, через javascript, используя, например:

<script>alert(window.location.hash);</script>

Функция parse_url () в PHP может работать, если у вас уже есть необходимая строка URL, включая фрагмент ( http://codepad.org/BDqjtXix ):

<?
echo parse_url("http://foo?bar#fizzbuzz",PHP_URL_FRAGMENT);
?>

Output: fizzbuzz

Но я не думаю, что PHP получает информацию о фрагменте, потому что это только для клиента .

98
ответ дан 23 November 2019 в 04:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: