Le titre peut être réécrit comme suit : Dans une application côté serveur (comme PHP, Ruby, Python, etc.), est-il possible de lire la partie hachée d'une URL ?
P粉145543872
P粉145543872 2023-08-20 20:10:37
0
2
351

Supposons que l'URL soit :

www.example.com/?val=1#part2

PHP peut utiliser le tableau GET pour lire la variable de requête val1.

La valeur de hachagepart2 Ou cela peut-il être géré uniquement par le navigateur et JavaScript ?

P粉145543872
P粉145543872

répondre à tous (2)
P粉724256860

Test simple, visitezhttp://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 :

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) :

 输出:fizzbuzz

Mais je ne pense pas que PHP recevra les informations sur le fragment puisqu'elles n'existent que côté client.

    P粉360266095

    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 utiliserparse_url()pour analyser l'URL en ses parties, y compris la partie fragment, mais ce n'est évidemment pas votre cas.

      Derniers téléchargements
      Plus>
      effets Web
      Code source du site Web
      Matériel du site Web
      Modèle frontal
      À propos de nous Clause de non-responsabilité Sitemap
      Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!