成功调用ajax之后,我想在屏幕上打印结果(在DIV中)。 这个结果是一段HTML代码。
$.ajax({
url: window.location.pathname + '/feedback-campaigns',
type: 'GET',
contentType: 'text/html',
success: function(data, textStatus, jqXHR) {
var result = data.campaigns.campaigns[0].text;
// result = "<b>TEST - do you see me?</b>"
$('.campaign-top-product-detail-page').html(result);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log('NOK');
}
});
但是,在屏幕上我看到了:
<b>TEST - do you see me?</b>
而不是粗体文字。
答案 0 :(得分:3)
这是因为来自服务器的响应包含HTML实体,而不是实际的HTML标记。要解决此问题,只需发送<b>TEST - do you see me?</b>
等HTML即可。 (如果您在服务器上使用PHP,那么请不要在输出中使用htmlspecialchars
。
答案 1 :(得分:3)
使用以下
$.ajax({
url: window.location.protocol + '//' + window.location.host + window.location.pathname + '/feedback-campaigns',
type: 'GET',
contentType: 'text/html',
success: function(data, textStatus, jqXHR) {
var result = $.parseHTML(data.campaigns.campaigns[0].text); // result = "<b>TEST - do you see me?</b>"
$('.campaign-top-product-detail-page').html(result);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log('NOK');
}
});
更新:像这样写$.parseHTML(data.campaigns.campaigns[0].text);
答案 2 :(得分:0)
请记住,像<
这样的内容不会被视为HTML代码的一部分,而是一些角色。因此,如果您想要显示粗体文本,您应该让它返回如下
<b>TEST - do you see me?</b>
但是,如果您没有编辑结果的权限,则其他答案也不错。