欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

AngularJS使用ng-inlude指令加載頁(yè)面失敗的原因與解決方法

 更新時(shí)間:2017年01月19日 10:19:06   作者:aitangyong  
這篇文章主要介紹了AngularJS使用ng-inlude指令加載頁(yè)面失敗的原因與解決方法,對(duì)比不同瀏覽器錯(cuò)誤提示分析了加載失敗的原因及通過(guò)http訪問(wèn)的解決方法,需要的朋友可以參考下

本文實(shí)例講述了AngularJS使用ng-inlude指令加載頁(yè)面失敗的原因與解決方法。分享給大家供大家參考,具體如下:

AngularJS中提供的ng-include指令,很類似于JSP中的<jsp:include>用來(lái)將多個(gè)子頁(yè)面合并到同一個(gè)父頁(yè)面中,避免父頁(yè)面過(guò)大,可讀性差,不好維護(hù)。

父頁(yè)面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>

被包含的子頁(yè)面child.html代碼如下:

<div>
    <h1>included, {{name}}!</h1>
    <h1>included, {{age}}!</h1>
</div>

我用IE11和Chrome39運(yùn)行parent.html,發(fā)現(xiàn)child.html頁(yè)面不能包含到parent.html中。IE下報(bào)錯(cuò)信息如下:

Error: 拒絕訪問(wèn)。
   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下報(bào)錯(cuò)信息如下:

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下的提示有些晦澀,不過(guò)chrome提示很明顯:不能跨域訪問(wèn)。通過(guò)上面的錯(cuò)誤提示,可以看到:使用ng-include指令的時(shí)候,會(huì)用到AJAX請(qǐng)求XMLHttpRequest。但是我們是直接用瀏覽器打開(kāi)的parent.html,并沒(méi)有通過(guò)web容器訪問(wèn),所以存在跨域訪問(wèn)問(wèn)題,加載child.html也就失敗了。解決辦法很簡(jiǎn)單:將代碼部署到tomcat等web容器下,通過(guò)http訪問(wèn)即可。

平時(shí)在練習(xí)JavaScript或者是JS框架的時(shí)候,一版都是使用比較輕量級(jí)的工具,不會(huì)使用像Eclipse之類IDE,我一般使用Notepad++編寫js代碼。Notepad++可以方便地調(diào)用本機(jī)安裝的瀏覽器。像ng-include這樣的指令,必須要有web容器的支持。可以使用前端開(kāi)發(fā)神器webstorm,該工具運(yùn)行html的時(shí)候,會(huì)自動(dòng)啟動(dòng)內(nèi)置的web容器,這樣ng-include指令就不會(huì)報(bào)錯(cuò)了。

更多關(guān)于AngularJS相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《AngularJS入門與進(jìn)階教程》及《AngularJS MVC架構(gòu)總結(jié)

希望本文所述對(duì)大家AngularJS程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 淺談angular2 組件的生命周期鉤子

    淺談angular2 組件的生命周期鉤子

    本篇文章主要介紹了淺談angular2 組件的生命周期鉤子,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • Angular4實(shí)現(xiàn)動(dòng)態(tài)添加刪除表單輸入框功能

    Angular4實(shí)現(xiàn)動(dòng)態(tài)添加刪除表單輸入框功能

    這篇文章主要介紹了Angular4實(shí)現(xiàn)動(dòng)態(tài)添加刪除表單輸入框功能,需要的朋友可以參考下
    2017-08-08
  • 利用Angular.js限制textarea輸入的字?jǐn)?shù)

    利用Angular.js限制textarea輸入的字?jǐn)?shù)

    相信在大家已經(jīng)學(xué)習(xí)了足夠多關(guān)于AngularJS的知識(shí)后,就可以開(kāi)始創(chuàng)建第一個(gè)AngularJS應(yīng)用程序,這篇文章通過(guò)示例給大家介紹如何利用Angular.js限制textarea輸入的字?jǐn)?shù),有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。
    2016-10-10
  • Angularjs2不同組件間的通信實(shí)例代碼

    Angularjs2不同組件間的通信實(shí)例代碼

    AngualrJs2官方方法是以@Input,@Output來(lái)實(shí)現(xiàn)組件間的相互傳值,而且組件之間必須父子關(guān)系,下面給大家提供一個(gè)簡(jiǎn)單的方法,實(shí)現(xiàn)組件間的傳值,不僅僅是父子組件,跨模塊的組件也可以實(shí)現(xiàn)傳值
    2017-05-05
  • Angular數(shù)據(jù)綁定機(jī)制原理

    Angular數(shù)據(jù)綁定機(jī)制原理

    本篇文章主要介紹了Angular數(shù)據(jù)綁定機(jī)制原理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • AngularJS中使用three.js的實(shí)例詳解

    AngularJS中使用three.js的實(shí)例詳解

    這篇文章主要介紹了AngularJS中使用three.js的實(shí)例詳解,我將之前自己做的demo放到了angularJS的一個(gè)component中,其實(shí)一開(kāi)始是沒(méi)有準(zhǔn)備用框架的但是后面發(fā)現(xiàn)需要進(jìn)行的雙向綁定越來(lái)越多,后期表單數(shù)據(jù)的變化量也很大,最后還是選擇用NG來(lái)做這些事情
    2017-07-07
  • 深入理解Angular4中的依賴注入

    深入理解Angular4中的依賴注入

    在Angular中使用依賴注入,可以幫助我們實(shí)現(xiàn)松耦合,可以說(shuō)只有在組件中使用依賴注入才能真正的實(shí)現(xiàn)可重用的組件。
    2017-06-06
  • AngularJS入門教程之AngularJS模型

    AngularJS入門教程之AngularJS模型

    這篇文章主要介紹了AngularJS入門教程之AngularJS模型的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • AngularJS對(duì)動(dòng)態(tài)增加的DOM實(shí)現(xiàn)ng-keyup事件示例

    AngularJS對(duì)動(dòng)態(tài)增加的DOM實(shí)現(xiàn)ng-keyup事件示例

    這篇文章主要介紹了AngularJS對(duì)動(dòng)態(tài)增加的DOM實(shí)現(xiàn)ng-keyup事件示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Angular4 Select選擇改變事件的方法

    Angular4 Select選擇改變事件的方法

    今天小編就為大家分享一篇Angular4 Select選擇改變事件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10

最新評(píng)論