2013-04-14 69 views
0

我是JavaScript和AJAX東西的完全新手。我正在嘗試使用AJAX調用服務器並顯示返回的HTML。然而,不是呈現HTML,瀏覽器顯示HTML代碼。我沒有使用JQuery,我更喜歡不使用它(時間嚴重短缺,而且我完全不熟悉JQuery是堅持使用基本JavaScript的兩個主要原因)。有什麼方法可以呈現HTML,因爲它應該只使用基本的JavaScript。這裏是我的代碼呈現通過JavaScript中的AJAX調用返回的HTML

function gotoNext(button){ 
try { 
    xmlHttp = new XMLHttpRequest(); 
} 
catch (e) { 
    try { 
     xmlHttp = new ActiveXObject ("Microsoft.XMLHTTP"); 
    } 
    catch (el) { 
     try { 
      xmlHttp = new ActiveXObject ("Msxml2.XMLHTTP"); 
     } 
     catch (el1) { 
      alert ("Your browser does not support AJAX! Please use a compatible browser!!"); 
     } 
    } 
} 

xmlHttp.onreadystatechange = function() { 
    if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { 
     var df = document.getElementById ("dataForm"); 
     var data = xmlHttp.responseText; 
     df.innerText = data; 
    }  
}; 

var id = document.editEnv.id.value; 
var sId = document.editEnv.sId.value; 
var fileName = document.editEnv.fileName.value; 
var group = document.editEnv.group.value; 

xmlHttp.open("POST", "newData.jsp", true); 
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); 
xmlHttp.send ("flag=" + flag + "&id=" + id + "&sId=" + sId + "&fileName=" + fileName + "&group=" + group); 

回答

3

您應該使用df.innerHTML = data;

innerText只是獲取/設置數值爲純文本。

+0

非常感謝埃文!這工作! – ritesh

2

你可以嘗試用innerHTML更換innerText的區別在於一個事實,即innerText不包括任何HTML標籤,而innerHTML一樣。例如

Here is a <a href="what.html">link</a> 

顯示:

Here is a link 

,如果你調用它innerText。但是,如果您有innerHTML叫它它會顯示:

Here is a <a href="what.html">link</a> 
+0

非常感謝!這工作!但不應該是相反的 - 第一個將由innerHTML顯示,第二個將由innerText顯示? – ritesh

0
df.innerHTML = data; 

應該工作! 因爲使用innerHTML將在瀏覽器上呈現該html。

innerText將只顯示HTML代碼爲普通文本。

相關問題