显示由ajax,Jquery返回的响应的html代码

时间:2012-01-17 19:58:20

标签: javascript jquery html

我有一个jquery AJAX函数,它检索一些HTML标记并在页面上显示它。我还想显示返回此HTML的html代码。我四处寻找解决方案,但没找到任何解决方案。有人可以请帮助。非常感谢

$.post('get_news.php', $("#gifForm").serialize(), function(data) {
     //Show HTML
     $('#output').html(data);

     //Show HTML code
     $('#output_code').html(data);
});

6 个答案:

答案 0 :(得分:11)

尝试使用 text()功能。这将逃脱并显示HTML代码。 http://api.jquery.com/text/

$.post('get_news.php', $("#gifForm").serialize(), function(data) {
  //Show HTML
  $('#output').html(data);
  //Show HTML code
  $('#output_code').text(data);
});

答案 1 :(得分:1)

你可以用“代码”包围你的html,它应该按原样显示它而不渲染html:

$('#output_code').html("<code>" + data + "</code>");

答案 2 :(得分:0)

将输出放在textarea中。它将保持格式。 (如果HTML包含textarea,则必须先将其转义)。

答案 3 :(得分:0)

您可以尝试在HTML数据上使用escape。试试这个

$.post('get_news.php', $("#gifForm").serialize(), function(data) {
    //Show HTML
    $('#output').html(data);
    //Show HTML code
    $('#output_code').html(escape(data));
});

答案 4 :(得分:0)

AJAX返回并显示的代码是由您调用的PHP脚本创建和输出的任何内容。所有代码都应该存在,因此您可能需要调整PHP的输出以包含所需的元素。

PHP页面有什么作用?数据库工作?查询和显示结果?您应该在AJAX结果中看到的内容与您自己尝试使用php脚本时所获得的相同。

答案 5 :(得分:0)

从您的代码中看起来这是从PHP文件发回的,如果是这样的话,您可以使用PHP的htmlentities函数之一转换结果,然后再将其发送回Ajax函数,它会显示得很好,最好在html预标签中。

您还应该使用jQuery text()而不是html()。

如果您想要语法突出显示,行号和许多其他内容,很多网站都会使用GeSHiSyntax Highlighter来显示代码段。