AngularJS使用ng-inlude指令加载页面失败的原因与解决方法


Posted in Javascript onJanuary 19, 2017

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
flexigrid 参数说明
Nov 23 Javascript
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
Dec 03 Javascript
jquery slibings选取同级其他元素的实现代码
Nov 15 Javascript
JS计算网页停留时间代码
Apr 28 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
Oct 28 Javascript
Bootstrap按钮下拉菜单组件详解
May 10 Javascript
Jquery针对tr td的一些实用操作方法(必看篇)
Oct 05 Javascript
实例解析jQuery工具函数
Dec 01 Javascript
bootstrap使用validate实现简单校验功能
Dec 02 Javascript
解决vue 项目引入字体图标报错、不显示等问题
Sep 01 Javascript
Javascript原生ajax请求代码实例
Feb 20 Javascript
微信小程序自定义弹出层效果
May 26 Javascript
快速掌握jQuery插件开发
Jan 19 #Javascript
Web 开发中Ajax的Session 超时处理方法
Jan 19 #Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
Jan 19 #Javascript
使用JavaScript触发过渡效果的方法
Jan 19 #Javascript
详解支持Angular 2的表格控件
Jan 19 #Javascript
原生JS实现几个常用DOM操作API实例
Jan 19 #Javascript
JS生成一维码(条形码)功能示例
Jan 19 #Javascript
You might like
syphon 虹吸式咖啡冲泡冲煮倒水的得与失
2021/03/03 冲泡冲煮
php实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
ASP.NET jQuery 实例18 通过使用jQuery validation插件校验DropDownList
2012/02/03 Javascript
图片延迟加载的实现代码(模仿懒惰)
2013/03/29 Javascript
js阻止事件追加的具体实现
2014/10/15 Javascript
深入理解js函数的作用域与this指向
2016/05/28 Javascript
微信小程序加载更多 点击查看更多
2016/11/29 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
JS实现简单的天数计算器完整实例
2017/04/28 Javascript
Jquery EasyUI $.Parser
2017/06/02 jQuery
JS点击缩略图整屏居中放大图片效果
2017/07/04 Javascript
深入理解ES6中let和闭包
2018/02/22 Javascript
实例讲解JS中pop使用方法
2019/01/27 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
微信小程序npm引入vant-weapp的踩坑记录
2019/08/01 Javascript
vue实现购物车小案例
2019/09/27 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
2020/01/02 Javascript
python插入排序算法的实现代码
2013/11/21 Python
python字符串编码识别模块chardet简单应用
2015/06/15 Python
Python的爬虫程序编写框架Scrapy入门学习教程
2016/07/02 Python
python使用mysql的两种使用方式
2018/03/07 Python
selenium3+python3环境搭建教程图解
2018/12/07 Python
在Python 字典中一键对应多个值的实例
2019/02/03 Python
python判断所输入的任意一个正整数是否为素数的两种方法
2019/06/27 Python
详解Python3 pandas.merge用法
2019/09/05 Python
解决Python使用列表副本的问题
2019/12/19 Python
Python守护进程实现过程详解
2020/02/10 Python
英国图书音像网站:Hive.co.uk(图书、电子书、DVD、蓝光、音乐CD等)
2017/10/16 全球购物
Erwin Müller穆勒家居瑞士官网:您整个家庭的邮购公司
2019/12/28 全球购物
心理学专业毕业生推荐信范文
2013/11/21 职场文书
珍珠奶茶店创业计划书
2014/01/11 职场文书
完美主义个人的自我评价
2014/02/17 职场文书
禁毒宣传标语
2014/06/19 职场文书
公司财务管理制度
2015/08/04 职场文书