Angularjs路由不调用相应的路由';s控制器/视图
我有一个Angulrjs应用程序,在app.js中我有如下Angularjs路由不调用相应的路由';s控制器/视图,angularjs,angularjs-routing,Angularjs,Angularjs Routing,我有一个Angulrjs应用程序,在app.js中我有如下config如下所示: .config(function ($routeProvider, $locationProvider, $httpProvider) { $routeProvider .otherwise({ redirectTo: '/' }); 我使用的是ng route,在我的app.jsrun函数中,我调用了一个后端API,该API将我重定向到登录页面,
config
如下所示:
.config(function ($routeProvider, $locationProvider, $httpProvider) {
$routeProvider
.otherwise({
redirectTo: '/'
});
我使用的是ng route
,在我的app.jsrun
函数中,我调用了一个后端API,该API将我重定向到登录页面,一旦我输入凭据,它就会在以下地址上回调UI
http://hostname.company.net/?token=24OzjW%2FKZVfkiV%2Bku22T0ag%3D%3D
现在页面是空白的,而不是路由到/
。我已经用MainController
映射了/
,但是没有映射控制器和视图。如果我打印$location.path
,则值为/
即使我重新加载屏幕,页面也是空白的。只有当我删除?标记=…
并点击刷新时,我才能看到屏幕
如果我将url更改为其他任何内容,那么它工作正常。如果路由是有效的url,则调用相应的控制器/视图,否则调用MainController/MainView
我处理/
的配置条目如下所示:
$routeProvider
.when('/', {
templateUrl: 'app/main/main.html',
controller: 'MainCtrl',
resolve: {
message: function (authService) {
return authService.authenticateUser();
}
}
});
请告诉我哪里出了问题,或者如何处理,因为我对这个错误一无所知。编辑:删除不正确的信息以避免任何潜在的误导
由于注释线程的原因,暂时将此保留在此处。是否显式导入ngRoute?它不是默认AngularJS包的一部分。No。我使用的是默认实现。请参考此。我正在使用相同的
ngRoute
。该路由在除上述URL之外的所有条件下都能正常工作,但当您看到模式为www.yoururl.com/?parameter=somevalue
且没有配置条目时,它为什么不路由到/
?嗯。如果它显示$location.path
为//code>,则路由到/
,但它可能没有正确配置视图和控制器。您在哪里为路由/
指定视图的模板和控制器?添加了用于处理/
请求的配置条目。您可以显示您的全部代码吗?您可能混淆了angular的客户端路由与后端路由的工作原理。Angular使用hashbang url执行客户端路由。“/”重定向到www.yoururl.com/#/
这可能是您的问题的一部分,但如果没有看到您的其余代码,我就无法真正判断。看见此外,正如上面Sauhard所提到的,从Angular 1.2开始,$routeProvider需要ngRoute模块才能工作,因此您必须在index.html中包含Angular router,并将ngRoute作为依赖项注入。