Tajuk boleh ditulis semula sebagai: Dalam aplikasi sisi pelayan (seperti PHP, Ruby, Python, dll.), adakah mungkin untuk membaca bahagian yang dicincang URL?
P粉145543872
2023-08-20 20:10:37
<p>Andaikan URL ialah: </p>
<pre class="brush:php;toolbar:false;">www.example.com/?val=1#part2</pre>
<p>PHP boleh menggunakan tatasusunan GET untuk membaca pembolehubah permintaan <code>val1</code>. </p>
<p>Adakah nilai cincang<kod>bahagian2</kod> Atau bolehkah ia hanya dikendalikan oleh penyemak imbas dan JavaScript? </p>
Ujian mudah, lawati http://localhost:8000/hello?foo=bar#this-is-not-sent-to-server
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:
Jika anda sudah mempunyai rentetan URL yang mengandungi serpihan, fungsi parse_url() dalam PHP boleh digunakan (http://codepad.org/BDqjtXix):
Tetapi saya tidak fikir PHP akan menerima maklumat serpihan kerana ia hanya wujud di bahagian pelanggan.
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.