我AngularJS應用程序使用如何在AngularJS SPA應用程序中處理瀏覽器刷新?
- UI路由器
- index.html文件
- 的登錄和數據的所有調用轉到一個ASP.NET Web控制器與帶/ API/XXX開頭的URL 。
當用戶輸入myapp.com然後服務器index.html這是我想要的。當用戶現在選擇的是網頁上的鏈接,然後UI路由器顯示相應的模板裏面的index.html,然後在瀏覽器地址欄正確顯示這樣的地址:
myapp.com/home
myapp.com/home/overview
myapp.com/city
myapp.com/city/london
請注意,我的配置設置如下:
.config([
'$httpProvider', '$locationProvider', '$sceProvider', '$stateProvider',
function (
$httpProvider, $locationProvider, $sceProvider, $stateProvider) {
$sceProvider.enabled(false);
$locationProvider.html5Mode(true);
如果現在用戶點擊刷新,然後在瀏覽器忘記,這是在index.html,然後試圖找到網頁:myapp.com/city/london等,這當然是不存在的。然後它顯示一個錯誤頁面,表明該頁面不存在。
我該如何處理這種情況?我想在myapp.com/city用戶點擊刷新,理想回去myapp.com/city
你爲什麼說刷新頁面會將用戶重定向到myapp.com/city/london這不存在?它如何不存在?如果它不存在,它首先會在瀏覽器地址欄中出現? –
「如果瀏覽器地址欄不存在,它首先會出現在瀏覽器地址欄中」。因爲我正在使用角度ui路由器。 ui-router使用模板,即使實際頁面可能不存在,您也可以始終在屏幕的URL欄中看到地址。 – Melina
這與UI路由器無關。我以爲你的意思是在瀏覽器地址欄中顯示的網址不存在,它確實存在,否則你永遠不會到達那裏:)你的問題是與angulars HTML5的路由與你的服務器不匹配。 –