Rumah >hujung hadapan web >tutorial js >Bagaimanakah saya boleh mengalih keluar Hashbang yang menjengkelkan (#) daripada Penghalaan AngularJS?

Bagaimanakah saya boleh mengalih keluar Hashbang yang menjengkelkan (#) daripada Penghalaan AngularJS?

Susan Sarandon
Susan Sarandonasal
2024-12-01 20:11:12351semak imbas

How Can I Remove the Annoying Hashbang (#) from AngularJS Routing?

Penghalaan AngularJS Tanpa Hashbang yang Menjengkelkan (#)

Dalam AngularJS, penghalaan membolehkan anda mentakrifkan keadaan dan pandangan yang berbeza untuk aplikasi anda. Apabila menggunakan $routeProvider untuk mengisytiharkan peraturan penghalaan, anda mungkin mendapati bahawa URL dalam penyemak imbas termasuk simbol cincang (#). Contohnya, menavigasi ke halaman 'ujian' mungkin kelihatan seperti "app/#/test" dan bukannya "app/test".

Mengapa Hash?

AngularJS menggunakan simbol cincang untuk penyemak imbas bukan HTML5 untuk menghalang panggilan HTTP ke pelayan. Tanpa cincang, penyemak imbas lama akan menghantar permintaan kepada pelayan pada href yang ditentukan, yang tidak diingini untuk navigasi sisi klien.

Mengelakkan Hashbang

Untuk mengelakkan hashbang, anda boleh menggunakan kaedah $locationProvider.html5Mode(true) untuk memberitahu AngularJS menggunakan API sejarah HTML5 jika tersedia. API ini menyediakan pengendalian URL yang lebih baik dan membolehkan anda menggunakan URL yang lebih bersih tanpa cincang.

Pelayar Disokong

API sejarah HTML5 disokong oleh kebanyakan penyemak imbas moden. Berikut ialah senarai penyemak imbas yang disokong:

  • Google Chrome
  • Mozilla Firefox
  • Safari
  • Microsoft Edge
  • Internet Explorer 10

Contoh

Untuk mendayakan mod HTML5 dalam aplikasi AngularJS anda, cuma tambah kod berikut pada konfigurasi anda:

app.config(function($locationProvider) {
  $locationProvider.html5Mode(true);
});

Sekali anda mendayakan mod HTML5, anda akan perasan bahawa hashbang dialih keluar daripada URL anda, memberikan pengalaman yang lebih mesra pengguna dan estetik untuk pengguna anda.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengalih keluar Hashbang yang menjengkelkan (#) daripada Penghalaan AngularJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn