我正在尝试在angularjs中构建简单的路由应用程序。我有主要的index.html页面,其中包含用于路由的ng-view div和javascript代码。另外2个简单的html页面view2.html和view3.html放在子文件夹partials1中。 我收到了以下错误。请帮忙。
错误:访问被拒绝。 错误:[$ compile: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 :(得分:4)
Error: Access is denied
告诉您该模板无法访问。尝试在浏览器中打开模板。这样的事情:http://my_project/partials1/view3.html。要查看应用程序使用的完整URL,请使用dubug控制台(XHR选项卡)。
答案 1 :(得分: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" />
这会阻止对Views目录中的文件的任何直接请求。此文件阻止了对此文件的Angular xhr请求。
评论并查看是否有效。请谨慎使用,因为它允许访问您的文件。
您还可以查看此网址以获取更多回复:Error: $compile:tpload failed to load template Http status : 404
答案 2 :(得分:0)
就我而言,问题是我添加了默认标题,例如Accept ='application / json'。所以我的路线突然停止工作,因为那些标题不仅应用于我的$ http.post调用,它们也应用于我的路由......?怪异。
答案 3 :(得分:0)
我遇到了同样的错误,在我的情况下,web服务器是用节点js编写的,uri用于获取$ stateProvider指定路径中的视图,因为每个要显示的视图/模板都没有生成类型为Xhr GET的http请求。
由于uri不存在,我获得了一个404代码,这使得浏览器进入回调,杀死了他。确保您的服务器正在返回请求的视图。 (用谷歌翻译翻译)
答案 4 :(得分:-1)
“错误:[$ compile:tpload]”
我解决了这个问题。我在IIS上部署了站点。
使用来源: https://www.c-sharpcorner.com/UploadFile/11d5d2/how-to-deploy-Asp-Net-website-in-iis-on-localhost/