【发布时间】:2012-11-22 03:42:51
【问题描述】:
我正在使用 PHP 和 for 循环将数据准备到正确的 html 中,并使用 JSON 将数据输出为 appended 并显示在页面上。 JSON 斜线转义导致浏览器无法正确查看 html。
这是我的 PHP for 循环:
$json = '<div id="rsec3" class="rsec">';
for($i=0; $i<count($array); $i++)
{
$coverart = $array[$i]['cover'];
if(empty($coverart))
{
$coverart = "nocoverart.gif";
}
$json .= '<div><img="/video/cover/thumbs/' . $cover . '"></div>';
}
$json .= '</div>';
$json = json_encode(array('ok' => 'ok', 'html' => $json));
echo $json;
这是我的 javascript 解析和附加 json:
$.get('/index_get.php?iid='+this.id,function(data){
$('#indload').hide();
js=jQuery.parseJSON(data);
$('#indr').append(js.html);
});
这就是浏览器显示的内容,一堆无用的行话,它自己附加了一个</img=">?
<img=" video cover thumbs img.png"></img=">
如何防止这种情况发生并正确显示图像?
【问题讨论】:
-
你能把$array的内容贴出来吗?
-
如果您使用
$.getJSON而不是$.get或只需将数据类型添加到$.get,则不需要调用$.parseJSON -
重要性数组的唯一值是
cover,它输出图像的名称,例如img.png或lolwut.gif等 -
你需要关闭你的字符串中的图片标签
标签: php javascript jquery json escaping