Rumah > Soal Jawab > teks badan
P粉7242568602023-08-21 15:01:41
Ujian mudah, lawati 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 -
Permintaan yang diterima oleh pelayan tidak mengandungi apa yang mengikuti simbol # - apa yang mengikuti simbol # hanyalah carian utama pada klien.
Anda boleh menggunakan javascript untuk mencari nama sauh yang digunakan dalam URL, contohnya:
<script>alert(window.location.hash);</script>
Jika anda sudah mempunyai rentetan URL yang mengandungi serpihan, fungsi parse_url() dalam PHP boleh digunakan (http://codepad.org/BDqjtXix):
<? echo parse_url("http://foo?bar#fizzbuzz",PHP_URL_FRAGMENT); ?> 输出:fizzbuzz
Tetapi saya tidak fikir PHP akan menerima maklumat serpihan kerana ia hanya wujud di bahagian pelanggan.
P粉3602660952023-08-21 14:50:26
Masalah utama ialah penyemak imbas tidak akan menghantar permintaan dengan bahagian serpihan. Bahagian serpihan dihuraikan terus dalam penyemak imbas. Oleh itu, ia boleh diakses melalui JavaScript.
Apa pun, anda boleh menggunakan parse_url() untuk menghuraikan URL ke bahagiannya, termasuk bahagian serpihan, tetapi jelas sekali itu bukan kes anda.