簡體   English   中英

AngularJS頁面刷新僅中斷了應用程序中的一頁

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM