Maison > Questions et réponses > le corps du texte
P粉7242568602023-08-21 15:01:41
Test simple, visitez 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 -
La requête reçue par le serveur ne contient pas ce qui suit le symbole # - ce qui suit le symbole # n'est qu'une recherche d'ancre sur le client.
Vous pouvez utiliser javascript pour trouver le nom de l'ancre utilisé dans l'URL, par exemple :
<script>alert(window.location.hash);</script>
Si vous disposez déjà d'une chaîne URL contenant un fragment, la fonction parse_url() en PHP peut être utilisée (http://codepad.org/BDqjtXix) :
<? echo parse_url("http://foo?bar#fizzbuzz",PHP_URL_FRAGMENT); ?> 输出:fizzbuzz
Mais je ne pense pas que PHP recevra les informations sur le fragment puisqu'elles n'existent que côté client.
P粉3602660952023-08-21 14:50:26
Le principal problème est que le navigateur n'enverra même pas la requête avec la partie fragment. Les parties des fragments sont analysées directement dans le navigateur. Il est donc accessible via JavaScript.
Quoi qu'il en soit, vous pouvez utiliser parse_url() pour analyser l'URL en ses parties, y compris la partie fragment, mais ce n'est évidemment pas votre cas.