全网整合营销服务商

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

免费咨询热线: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的解决方法分析  # 报错  # 会报  # 都是  # 进阶  # 加载  # 相关内容  # 也就  # 多个  # 就不  # 我一  # 要有  # 感兴趣  # 错了  # 我用  # 给大家  # 很简单  # 或者是  # 可以看到  # 可以使用  # 很明显 


相关文章: 建站之星在线版空间:自助建站+智能模板一键生成方案  小型网站制作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小时内与您取得联系。