2013-04-14 38 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代码为普通文本。

相关问题