2015-11-30 130 views
0

我試圖從瀏覽器中碼的手動重新加載頁面,但它不工作,說Angularjs路由不工作重新加載頁面手動

Cannot GET /rate/4 

我的路由時:

angular.module('routing') 

.config(function ($routeProvider, $locationProvider) { 

    $routeProvider 

    .when('/', { 
     templateUrl: 'app/views/index.html' 
    }) 

    .when('/rate/:cid', { 
     templateUrl: 'app/views/rate.html' 
    }) 


    .otherwise({ 
     'redirectTo': '/' 
    }); 

    $locationProvider.html5Mode(true); 

}); 

我的假設是當我重新加載主(index.html)不加載這是我的基本html文件。

+0

由於您使用'html5mode',因此您將需要服務器端配置。 –

+0

@ AlbertoI.N.J。我是新手......不知道你的意思是什麼 – user3100209

+0

你在用什麼服務器? –

回答

0

您沒有角度問題,您有服務器問題。

你基本上只使用一個頁面應用程序。

當服務器收到rate/4的請求時,它必須返回index.html(或任何您的主頁的名稱)。 。

你如何解決這個問題將取決於什麼平臺你實現你的服務器在

例如,如果你正在運行的節點Express服務器,你就會有這樣的路由代碼:

app.get(/^\/rate\/.*/, function(req, res) { 
    // This matches a known pattern for a client-side route 
    res.sendFile(__dirname + '\\public\index.html'); 
}); 
+0

我可以使用彈簧服務器嗎? – user3100209

+0

@ user3100209 - 我從未使用過彈簧服務器。如果它是一個現代的Web服務器框架,那麼您肯定會有一些方法可以配置路由。 –