2015-08-21 161 views
5

我正在嘗試在angularjs中構建簡單的路由應用程序。我有主要的index.html頁面與ng-view div和javascript代碼進行路由。還有2個簡單的html頁面view2.html和view3.html放置在子文件夾partials1中。 我收到以下錯誤。請幫忙。

錯誤:訪問被拒絕。 錯誤:[$編譯:tpload]未能加載模板:partials1/view3.html http://errors.angularjs.org/1.3.15/ $編譯/ tpload P0 = partials1%2Fview3.html

  • 的index.html:

    <div data-ng-view></div> 
    
    <script src="angular.js"></script> 
    <script src="angular-route.js"></script> 
    <script type="text/javascript"> 
        var demoApp = angular.module('demoApp', [ 'ngRoute' ]); 
        demoApp.controller('SimpleController', function($scope) { 
         $scope.customers = [ { 
          name : 'Jon Smith1', 
          city : 'Charlotte' 
         }, { 
          name : 'John Doe', 
          city : 'New York' 
         }, { 
          name : 'Jane Doe', 
          city : 'Jacksonville' 
         } ]; 
        }); 
    
        demoApp.config([ '$routeProvider', function($routeProvider) { 
         $routeProvider.when('/view1', { 
          templateUrl : 'partials1/view3.html', 
          controller : 'SimpleController' 
         }).when('/view2', { 
          templateUrl : 'partials1/view2.html', 
          controller : 'SimpleController' 
         }).otherwise({ 
          redirectTo : '/view1' 
         }); 
        } ]); 
    </script> 
    

  • view2.html

    <div class="container">33333333333333</div> 
    
  • view3.html

    <div class="container">33333333333333</div> 
    
+0

我會問一個明顯的問題:你對'partials1'文件夾和隨後的'view3.html'有正確的權限嗎? – SamHuckaby

回答

4

Error: Access is denied告訴你的模板是不可訪問。嘗試在瀏覽器中打開模板。像這樣:http://my_project/partials1/view3.html。要查看您的應用使用的完整URL,請使用dubug控制檯(XHR選項卡)。

+0

我在開始時錯過了**正斜槓**:這裏是正確的'templateUrl:'/ partials1/view3.html',希望可以幫助別人。 – stom

0

就我而言,問題是我添加了默認標題,如Accept ='application/json'。所以我的路由突然停止工作,因爲這些頭文件不僅適用於我的$ http.post調用,它們也適用於我的Routing ...?奇怪的。

1
Error: [$compile:tpload] Failed to load template: xyz.html (HTTP status: 404 Not Found) 

可以通過在web.config中

<system.webServer> 
    <handlers> 
     <remove name="BlockViewHandler"/> 
     <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 

由此阻止任何直接請求到瀏覽目錄中的文件下方設置引起的。對此文件的角度xhr請求被阻止。

評論一下,看看事情是否奏效。請謹慎使用它,因爲它允許訪問您的文件。

您還可以查看這個網址更多回應:Error: $compile:tpload failed to load template Http status : 404

0

我有同樣的錯誤,在我的情況下,網絡服務器與節點JS和URI拿到觀點,即分別在指定的路徑與寫$ stateProvider沒有被創建,因爲對於每個想要顯示類型爲Xhr的http請求的視圖/模板,都進行了GET。

由於uri不存在,我獲得了404代碼,這導致瀏覽器陷入回調,導致他死亡。確保你的服務器正在返回請求的視圖。(翻譯谷歌翻譯)

相關問題