一尘不染

AngularJS + Base Href是否区分大小写?

angularjs

我正在努力理解为什么我的基本href似乎区分大小写。我有一个带有基本href的页面,并利用了angularjs路由。

的HTML:

<html ng-app="app">
    <head>
        <base href="/Foo/"/>
    </head>
    <body>
        <div>Foo</div>
        <div ng-view></div>  
    </body>
</html>

js:

var module = angular.module('app', []);

module.config(function ($routeProvider, $locationProvider) {
    $routeProvider
        .when('/Home/Page1', { templateUrl = 'partials/page1' })
        .otherwise({ redirectTo: '' });

     $locationProvider.html5Mode(true);
     $locationProvider.hashPrefix('!');
});

如果我导航到http://www.example.com/Foo/,那就很好。但是,当我导航到http://www.example.com/foo/时,出现一个角度错误:

Error: Invalid url "http://www.example.com/foo/", missing path prefix "/Foo" !
at Error (<anonymous>)
at Object.LocationUrl.$$parse (http://www.example.com/foo/Scripts/angular.js:4983:13)
at Object.LocationUrl (http://www.example.com/foo/Scripts/angular.js:5014:8)
at $LocationProvider.$get (http://www.example.com/foo/Scripts/angular.js:5387:21)
at Object.invoke (http://www.example.com/foo/Scripts/angular.js:2809:28)
at http://www.example.com/foo/Scripts/angular.js:2647:37
at getService (http://www.example.com/foo/Scripts/angular.js:2769:39)
at Object.invoke (http://www.example.com/foo/Scripts/angular.js:2787:13)
at $CompileProvider.directive (http://www.example.com/foo/Scripts/angular.js:3613:43)
at Array.forEach (native) angular.js:5582

如果有帮助/有所作为,则将站点托管在IIS上并使用MVC 4。


阅读 371

收藏
2020-07-04

共1个答案

一尘不染

您需要关闭angularjs路由提供程序的区分大小写。

请查看此功能的详细信息:
添加caseInsensitiveMatch网址匹配选项

2020-07-04