本文实例讲述了AngularJS使用ng-inlude指令加载页面失败的原因与解决方法。分享给大家供大家参考,具体如下:

AngularJS中提供的ng-include指令,很类似于JSP中的<jsp:include>用来将多个子页面合并到同一个父页面中,避免父页面过大,可读性差,不好维护。
父页面parent.html代码如下:
<html>
<head>
<script src="angular-1.2.2/angular.js"></script>
<script>
function rootController($scope,$rootScope,$injector)
{
$rootScope.name = "aty";
$rootScope.age = 25;
}
</script>
</head>
<body ng-app ng-controller="rootController">
<h1>Hello, {{name}}!</h1>
<h1>Hello, {{age}}!</h1>
<div id="included" ng-include="'child.html'">
<input type="button" value="2"/>
</div>
</body>
</html>
被包含的子页面child.html代码如下:
<div>
<h1>included, {{name}}!</h1>
<h1>included, {{age}}!</h1>
</div>
我用IE11和Chrome39运行parent.html,发现child.html页面不能包含到parent.html中。IE下报错信息如下:
Error: 拒绝访问。
at Anonymous function (file:///D:/learn/angular-1.2.2/angular.js:7852:7)
at sendReq (file:///D:/learn/angular-1.2.2/angular.js:7720:9)
at serverRequest (file:///D:/learn/angular-1.2.2/angular.js:7454:9)
chrome下报错信息如下:
XMLHttpRequest cannot load file:///D:/learn/include.html.
Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'file:///D:/learn/include.html'.
IE下的提示有些晦涩,不过chrome提示很明显:不能跨域访问。通过上面的错误提示,可以看到:使用ng-include指令的时候,会用到AJAX请求XMLHttpRequest。但是我们是直接用浏览器打开的parent.html,并没有通过web容器访问,所以存在跨域访问问题,加载child.html也就失败了。解决办法很简单:将代码部署到tomcat等web容器下,通过http访问即可。
平时在练习JavaScript或者是JS框架的时候,一版都是使用比较轻量级的工具,不会使用像Eclipse之类IDE,我一般使用Notepad++编写js代码。Notepad++可以方便地调用本机安装的浏览器。像ng-include这样的指令,必须要有web容器的支持。可以使用前端开发神器webstorm,该工具运行html的时候,会自动启动内置的web容器,这样ng-include指令就不会报错了。
更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS入门与进阶教程》及《AngularJS MVC架构总结》
希望本文所述对大家AngularJS程序设计有所帮助。
# AngularJS
# ng-inlude指令
# 加载页面
# 失败
# 原因
# 解决方法
# AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
# AngularJS iframe跨域打开内容时报错误的解决办法
# AngularJS中update两次出现$promise属性无法识别的解决方法
# 模板视图和AngularJS之间冲突的解决方法
# AngularJS 中使用Swiper制作滚动图不能滑动的解决方法
# AngularJS实现在ng-Options加上index的解决方法
# AngularJS ng-repeat数组有重复值的解决方法
# AngularJS在IE下取数据总是缓存问题的解决方法
# AngularJS上拉加载问题解决方法
# AngularJS在IE8的不支持的解决方法
# AngularJS报错$apply already in progress的解决方法分析
# 报错
# 会报
# 都是
# 进阶
# 加载
# 相关内容
# 也就
# 多个
# 就不
# 我一
# 要有
# 感兴趣
# 错了
# 我用
# 给大家
# 很简单
# 或者是
# 可以看到
# 可以使用
# 很明显
相关文章:
建站之星在线版空间:自助建站+智能模板一键生成方案
小型网站制作HTML,*游戏网站怎么搭建?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
如何用wdcp快速搭建高效网站?
建站之星伪静态规则如何设置?
建站OpenVZ教程与优化策略:配置指南与性能提升
深圳网站制作培训,深圳哪些招聘网站比较好?
建站三合一如何选?哪家性价比更高?
建站之星安全性能如何?防护体系能否抵御黑客入侵?
建站之星安装需要哪些步骤及注意事项?
电商平台网站制作流程,电商网站如何制作?
想学网站制作怎么学,建立一个网站要花费多少?
如何在云虚拟主机上快速搭建个人网站?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
如何彻底卸载建站之星软件?
如何用免费手机建站系统零基础打造专业网站?
建站之星2.7模板:企业网站建设与h5定制设计专题
如何高效配置IIS服务器搭建网站?
linux top下的 minerd 木马清除方法
建站主机与虚拟主机有何区别?如何选择最优方案?
微信小程序 五星评分(包括半颗星评分)实例代码
智能起名网站制作软件有哪些,制作logo的软件?
大型企业网站制作流程,做网站需要注册公司吗?
宝塔面板如何快速创建新站点?
如何破解联通资金短缺导致的基站建设难题?
实例解析angularjs的filter过滤器
建站之星导航配置指南:自助建站与SEO优化全解析
佛山网站制作系统,佛山企业变更地址网上办理步骤?
如何通过虚拟主机空间快速建站?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
如何在VPS电脑上快速搭建网站?
盘锦网站制作公司,盘锦大洼有多少5G网站?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
公司网站设计制作厂家,怎么创建自己的一个网站?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
如何安全更换建站之星模板并保留数据?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
制作电商网页,电商供应链怎么做?
如何在阿里云服务器自主搭建网站?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
如何在宝塔面板创建新站点?
建站VPS推荐:2025年高性能服务器配置指南
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
如何构建满足综合性能需求的优质建站方案?
定制建站策划方案_专业建站与网站建设方案一站式指南
建站之星如何修改网站生成路径?
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
北京企业网站设计制作公司,北京铁路集团官方网站?
香港服务器部署网站为何提示未备案?
存储型VPS适合搭建中小型网站吗?
*请认真填写需求信息,我们会在24小时内与您取得联系。