2015-08-21 131 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代码,这导致浏览器陷入回调,导致他死亡。确保你的服务器正在返回请求的视图。(翻译谷歌翻译)

相关问题