2015-06-29 148 views
3

我想要做的事:HTML內容加載在JavaScript

我工作的一個角SPA,我想加載一個scope一些HTML內容,以顯示它。

我所做的:

根據做題(herehere),我創造它加載目標文件的功能,我在我的scope加載其內容(代碼是從賈森·斯特奇斯建議):

function loadPage(href) { 

     var xmlhttp = new XMLHttpRequest(); 
     xmlhttp.open("GET", href, false); 
     xmlhttp.send(); 
     return xmlhttp.responseText; 
} 

用於:$scope.pageContent = loadPage("html_file.html")

問題:

當時,html內容被加載。問題在於,不是通過瀏覽器進行解釋,它顯示爲「純文本」(我想這是對於正確的術語),像這樣:

<div><h4>...</h4></div> 

我該怎麼辦?

+0

你應該將它指定到ajax回調中的作用域varialbe。 –

+0

有沒有特別的原因你不使用['$ http'](https://docs.angularjs.org/api/ng/service/$http)? – Yoshi

+1

不,我只是不知道該怎麼做,所以我從SO – Arhyaa

回答

2

根據您的angularJs版本,它可以改變,但基於角1.3,你應該使用ng-bind-html指令與$sce服務:

模板:

<div ng-bind-html="securedHtml"></div> 

在控制器:

$scope.securedHtml= $sce.trustAsHtml(yourRawHtmlFromServer); 

和其他答案一樣,使用內部$http服務(或ngResource)讓你的ajax電話。

+1

得到一些想法非常感謝:) – Arhyaa