![](/img/trans.png)
[英]Disable refresh browser in only one page using angularjs or javascript
[英]Angularjs page refresh broken for only one page in app
我正在獲取Agularjs刷新返回的404錯誤,該錯誤已在過去幾年中得到了很好的記錄,但是我在應用程序的僅一頁上遇到了此問題。 除了用戶信息頁面外,我還有幾個頁面都可以刷新為它們的頁面。 這是我的路由代碼。 我也為我的儀表板頁面添加了路由(也可以)。
$locationProvider.html5Mode(true);
$stateProvider.
state("home", {
url: "/dashboard",
controller: "dashboardController as vm",
templateUrl: 'app/dashboard/view.html',
resolve: {
user: ['oauth',
function (oauth) {
return oauth.getOrLoadUser();
}]
}
}).
state("updateInfo", {
url: "/updateInfo",
controller: "updateInfoController as vm",
templateUrl: 'app/account/updateInfo.html',
resolve: {
user: ['oauth',
function (oauth) {
return oauth.getOrLoadUser();
}]
}
}).
如您所見,我為我的locationProvider設置了Html5Mode,並且該路由與我的其他路由相同。 任何幫助將非常感激。
更新這是我的routeConfig的外觀。
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
Dictionary<string, string> handleInHome = new Dictionary<string, string>();
handleInHome.Add("login", "login/{*catchall}");
handleInHome.Add("dashboard", "dashboard/{*catchall}");
handleInHome.Add("aboutus", "aboutus/{*catchall}");
handleInHome.Add("requests", "requests/{*catchall}");
handleInHome.Add("faq", "faq/{*catchall}");
foreach (var key in handleInHome.Keys)
{
routes.MapRoute(
name: key,
url: handleInHome[key],
defaults: new { controller = "Home", action = "Index" }
);
}
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
我嘗試為accounts文件夾添加一個catch all,但是沒有任何區別。 handleInHome.Add(“ account”,“ account / {* catchall}”);
看起來您需要在后端處理/updateInfo
路由,以確保為該路由提供Angular應用程序。
handleInHome.Add("updateInfo", "updateInfo/{*catchall}");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.