HTML代码设置为文本,而不是解析为HTML代码

时间:2018-02-02 10:41:25

标签: jquery ajax

我的JavaScript代码中有以下调用AJAX代码:

$.get("MyServlet",function(data, status) {          
        $('#ajaxResponse').text(data);
});

MyServlet会返回一段HTML代码。

我的元素#ajaxResponse的内容设置为文本而不是HTML代码。当我检查元素时,我发现我的div的内容是这样的:

<table border="1">
<tr>
    <td>ID</td>
    <td>Name</td>
    <td>Surname</td>
</tr>
...

2 个答案:

答案 0 :(得分:2)

改为使用$().html()

$().text()会转义每个HTML标记。

来自文档:

  

我们需要知道此方法会转义提供的字符串   必要的,以便它在HTML中正确呈现。为此,它打电话   DOM方法.createTextNode()不会将字符串解释为   HTML。

答案 1 :(得分:1)

使用jQuery .html()方法:

$.get("MyServlet",function(data, status) {          
    $('#ajaxResponse').html(data);
});

jQuery .text()方法会转义数据中找到的所有HTML。

参考:https://api.jquery.com/html/