Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs路由不调用相应的路由';s控制器/视图_Angularjs_Angularjs Routing - Fatal编程技术网

Angularjs路由不调用相应的路由';s控制器/视图

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将我重定向到登录页面,

我有一个Angulrjs应用程序,在app.js中我有如下
config
如下所示:

 .config(function ($routeProvider, $locationProvider, $httpProvider) {
    $routeProvider
        .otherwise({
            redirectTo: '/'
        });
我使用的是
ng route
,在我的app.js
run
函数中,我调用了一个后端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作为依赖项注入。