本文实例讲述了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的解决方法分析
# 报错
# 会报
# 都是
# 进阶
# 加载
# 相关内容
# 也就
# 多个
# 就不
# 我一
# 要有
# 感兴趣
# 错了
# 我用
# 给大家
# 很简单
# 或者是
# 可以看到
# 可以使用
# 很明显
相关文章:
如何在云虚拟主机上快速搭建个人网站?
网站制作员失业,怎样查看自己网站的注册者?
如何在景安云服务器上绑定域名并配置虚拟主机?
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
jQuery 常见小例汇总
如何用好域名打造高点击率的自主建站?
Swift中循环语句中的转移语句 break 和 continue
如何在Ubuntu系统下快速搭建WordPress个人网站?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
广德云建站网站建设方案与建站流程优化指南
建站VPS选购需注意哪些关键参数?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
Android使用GridView实现日历的简单功能
个人网站制作流程图片大全,个人网站如何注销?
如何在万网开始建站?分步指南解析
定制建站是什么?如何实现个性化需求?
高防服务器租用首荐平台,企业级优惠套餐快速部署
如何在万网主机上快速搭建网站?
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
如何快速搭建个人网站并优化SEO?
盐城做公司网站,江苏电子版退休证办理流程?
北京专业网站制作设计师招聘,北京白云观官方网站?
平台云上自主建站:模板化设计与智能工具打造高效网站
python的本地网站制作,如何创建本地站点?
IOS倒计时设置UIButton标题title的抖动问题
建站之星安装失败:服务器环境不兼容?
建站主机空间推荐 高性价比配置与快速部署方案解析
网站制作公司排行榜,四大门户网站排名?
免费网站制作appp,免费制作app哪个平台好?
已有域名和空间,如何快速搭建网站?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
MySQL查询结果复制到新表的方法(更新、插入)
如何用虚拟主机快速搭建网站?详细步骤解析
如何快速登录WAP自助建站平台?
如何通过服务器快速搭建网站?完整步骤解析
建站主机无法访问?如何排查域名与服务器问题
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
简单实现Android验证码
建站之星备案是否影响网站上线时间?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
网站制作新手教程,新手建设一个网站需要注意些什么?
详解jQuery中基本的动画方法
韩国服务器如何优化跨境访问实现高效连接?
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
如何获取PHP WAP自助建站系统源码?
宝塔面板如何快速创建新站点?
怎么将XML数据可视化 D3.js加载XML
如何通过商城免费建站系统源码自定义网站主题?
*请认真填写需求信息,我们会在24小时内与您取得联系。