2015-11-30 91 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服务器框架,那么您肯定会有一些方法可以配置路由。 –