JSON在文件路径中转义斜杠,不会显示图像

时间:2012-11-22 03:42:52

标签: php javascript jquery json escaping

我正在使用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=">

如何防止这种情况发生,并正确显示图像?

2 个答案:

答案 0 :(得分:1)

我认为问题可能是php代码上无效的HTML标记<img>。在<img>代码中,src缺失,<img>代码未关闭。

更改以下内容

$json .= '<div><img="/video/cover/thumbs/' . $cover . '"></div>'; 

$json .= '<div><img src="/video/cover/thumbs/' . $cover . '" /></div>';

答案 1 :(得分:-1)

您需要关闭字符串中的图片标记

$json .= '<div><img="/video/cover/thumbs/' . $cover . '"/></div>';