0

我是 JavaScript 和 AJAX 方面的新手。我正在尝试使用 AJAX 调用服务器并显示返回的 HTML。但是,浏览器不是呈现 HTML,而是显示 HTML 代码。我没有使用 JQuery,我宁愿不使用它(时间严重短缺和我对 JQuery 完全不熟悉是坚持使用基本 JavaScript 的两个主要原因)。是否有某种方法可以呈现 HTML,因为它应该只使用基本的 JavaScript。这是我的代码

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);
4

3 回答 3

3

你应该使用df.innerHTML = data;

innerText只是将值获取/设置为纯文本。

于 2013-04-14T09:09:16.093 回答
2

您可以尝试替换innerTextinnerHTML不同之处在于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>
于 2013-04-14T09:09:26.467 回答
0
df.innerHTML = data;

应该管用!!因为使用 innerHTML 将在浏览器上呈现该 html。

innerText 只会将 HTML 代码显示为普通文本。

于 2013-04-14T09:14:40.133 回答