ПОЛУЧИТЕ PHP, но используйте # вместо? = - PullRequest
1 голос
/ 07 января 2010

При использовании $ _GET [] в php, он ищет переменную, например,? Id = value

Можно ли вместо этого вызвать #value?

Ответы [ 4 ]

8 голосов
/ 07 января 2010

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

Когда вы вводите URL, такой как http://server.com/dir/file.php?a=1#something, в текстовое поле URL вашего браузера, браузер открывает соединение с server.com, а затем выдает команду HTTP GET /dir/file.php?a=1 HTTP/1.1. Это единственные данные, отправленные на сервер. Следовательно, сервер никогда не получает часть #something, и это означает, что на стороне сервера нет сценария, который вы могли бы написать для чтения этого значения.

Подобный вопрос объясняется здесь: Как получить Url Hash (#) со стороны сервера

0 голосов
/ 07 января 2010

Не зная всего вашего случая, я могу быть не в курсе, но есть возможность отправки #something на сервер через простой тип GET xmlhttprequest.

0 голосов
/ 07 января 2010

Мне удалось обойти это, получив фрагмент через javascript и отправив запрос ajax с фрагментом в качестве содержимого $ _GET.

0 голосов
/ 07 января 2010

Да, есть способ. Я думаю, что вы хотите сделать, это:

$arValues = array_values($_GET);
// whatever else you want to do with the values
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...