2016-10-14 49 views
1

我想從我的Angular JS應用程序的URL中刪除「#」。它目前部署在我的位置機器上的tomcat服務器上,並可通過如8081這樣的自定義端口訪問。

我查看了各種文章,並在不同的線程上修復了這個問題。但一切都徒勞無功。

當我嘗試使用localhost:8081/myAngularApp訪問我的應用程序的主頁時,出現以下錯誤(來自瀏覽器的開發者控制檯)。

Uncaught Error: [$injector:modulerr] Failed to instantiate module myAngularApp due to: 
TypeError: Cannot read property 'html5Mode' of undefined 
    at http://localhost:8081/myAngularApp/js/angularMyApp.js:34:31 
    ..... 
    ..... 

如果我刪除$locationProvider.html5Mode({...});那麼我能與一個哈希來訪問應用程序就像http://localhost:8081/myAngularApp/#/

這裏是我的JS文件中的片段,其配置角度模塊(myAppMain.js):

... 
... 
myAngularApp.config([ '$routeProvider', '$locationProvider', 
     function($routeProvider, $routeParams, $locationProvider) { 

      $routeProvider 

      // route for the login page 
      .when('/login', { 
       templateUrl : 'pages/login.html', 
       controller : 'loginController' 
      }) 

      // route for the dashboard page 
      .when('/dashboard', { 
       templateUrl : 'pages/dashboard.html', 
       controller : 'dashboardController' 
      }); 

      // route for the FAQ page 
      .when('/faq', { 
       templateUrl : 'pages/faq.html', 
       controller : 'faqController' 
      }) 

      // route for the About us page 
      .when('/aboutUs', { 
       templateUrl : 'pages/aboutUs.html', 
       controller : 'aboutUsController' 
      }); 

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

      if(window.history && window.history.pushState){ 
       $locationProvider.html5Mode({ 
         enabled: true, 
         requireBase: false 
       }); 
      } 
     } 
    ]); 

... 
... 

我已在index.html的標籤中添加base href="/"標籤。

我不知道如果我要做的tomcat的結束一些改變,使其工作還是有一些其他的問題..

請幫助。

感謝

回答

1
myAngularApp.config([ '$routeProvider', '$locationProvider', function($routeProvider, $routeParams, $locationProvider) { 

應該

myAngularApp.config([ '$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { 
+0

它沒有工作。在進行了修改後,我收到以下錯誤: –

+0

angular.js:68未捕獲錯誤:[$ injector:modulerr]未能實例化模塊myAngularApp,原因如下: 錯誤:[$ injector:unpr]未知提供程序:$ routeParams http:/ /errors.angularjs.org/1.4.9/$injector/unpr?p0=%24routeParams –

+0

刪除routeParams,檢查更新的答案,因爲它沒有在配置中使用,您可能需要它在控制器中 – Aks1357

相關問題