我从数据库中提取了一些数据,其中一些数据包含HTML
个标记,例如&#34; <p>Hello</ p>
&#34;。但是,当步骤数据通过返回时,它会在&#34; <p>Hello</p>
&#34;中显示json_encode。如何返回保存在数据库中的相同数据?
PHP:
$retorna = array(
'conteudo_programatico' => $conteudo_programatico,
'investimento' => $investimento,
'coordenacao' => $coordenacao,
'importante' => $importante
);
echo json_encode($retorna);
AJAX:
$(function(){
$("button").click(function(){
var id = $(this).attr("id");
$.ajax({
type: "POST",
data: {id: id},
url: "paginas/ajax/form.php",
dataType: "json",
success: function(data){
$("#cursos").slideDown();
$(".call-conteudo").text(data['conteudo_programatico']);
$(".call-investimento").text(data['investimento']);
$(".call-coordenacao").text(data['coordenacao']);
$(".call-importante").text(data['importante']);
},
});
});
});
答案 0 :(得分:3)
问题是你使用jQuery&#39; .text()
:
$(".call-conteudo").text(data['conteudo_programatico']);
// etc.
根据manual:
我们需要知道此方法会转义提供的字符串 必要的,以便它在HTML中正确呈现。为此,它打电话 DOM方法.createTextNode()不会将字符串解释为 HTML
...
代码
$( "div.demo-container" ).text( "<p>This is a test.</p>" );
将产生以下DOM输出:
1 <div class="demo-container">
2 <p>This is a test.</p>
3 </div>
您需要html()
:
$(".call-conteudo").html(data['conteudo_programatico']);
// etc.