Saya ingin melakukan pengalihan yang memuat ulang halaman penuh sehingga cookie dari server web saya di-refresh saat halaman dimuat. window.location = "/#/Next"
dan window.location.href = "/#/Next"
tidak berfungsi, mereka melakukan rute Angular yang tidak masuk ke server.
Apa cara yang benar untuk membuat permintaan server lengkap dalam pengontrol Angular?
Jawaban:
Untuk
<a>
tag :Anda harus menempel
target="_self"
pada<a>
tag AndaAda tiga kasus di mana AngularJS akan melakukan pemuatan ulang halaman penuh:
Contoh:
<a href="https://stackoverflow.com/ext/link?a=b" target="_self">link</a>
Contoh:
<a href="http://angularjs.org/">link</a>
Contoh:
<a href="https://stackoverflow.com/not-my-base/link">link</a>
Menggunakan javascript :
The
$location
layanan memungkinkan Anda untuk perubahan hanya URL; itu tidak memungkinkan Anda untuk memuat ulang halaman. Ketika Anda perlu mengubah URL dan reload halaman atau menavigasi ke halaman yang berbeda, gunakan tingkat API yang lebih rendah:$window.location.href
.Lihat:
sumber
<a href="..." target="_self">
adalah yang berhasil untuk saya. terima kasih!Kami memiliki masalah yang sama, bekerja dari kode JS (yaitu bukan dari jangkar HTML). Inilah cara kami menyelesaikannya:
Jika perlu, secara virtual mengubah URL saat ini melalui
$location
layanan. Ini mungkin berguna jika tujuan Anda hanyalah variasi pada URL saat ini, sehingga Anda dapat memanfaatkan$location
metode pembantu. Misalnya kita berlari$location.search(..., ...)
untuk hanya mengubah nilai parameter querystring.Buat URL tujuan baru, menggunakan saat ini
$location.url()
jika diperlukan. Agar berfungsi, yang baru ini harus menyertakan semuanya setelah skema, domain, dan port. Jadi misalnya jika Anda ingin pindah ke:http://yourdomain.com/YourAppFolder/YourAngularApp/#/YourArea/YourAction?culture=en
maka Anda harus mengatur URL seperti pada:
var destinationUrl = '/YourAppFolder/YourAngularApp/#/YourArea/YourAction?culture=en';
(dengan memimpin
'/'
juga).Tetapkan URL tujuan baru di tingkat rendah :
$window.location.href = destinationUrl;
Paksa muat ulang, masih pada level rendah:
$window.location.reload();
sumber
Setelah mencari dan memberikan sesi hit dan trial, saya dapat menyelesaikannya dengan terlebih dahulu menentukan url like
lalu muat ulang
sumber
Saya memiliki masalah yang sama. Ketika saya menggunakan
window.location
,$window.location
atau bahkan<a href="..." target="_self">
rute tidak menyegarkan halaman. Jadi layanan cache yang digunakan bukan yang saya inginkan di aplikasi saya. Saya menyelesaikannya dengan menambahkanwindow.location.reload()
setelahwindow.location
untuk memaksa halaman memuat ulang setelah perutean. Metode ini sepertinya memuat halaman dua kali. Mungkin trik kotor, tetapi berhasil. Beginilah cara saya memilikinya sekarang:sumber
Coba ini
sumber