全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

本文实例讲述了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小时内与您取得联系。