2015-03-18 879 views
0

我有一个数据库的结果是作为json编码返回的,我没有太多的经验,所以不太确定这里会发生什么,但是我尝试连接值来查看它是否工作,但它doesn并且它会按原样返回,即标记。JSON中的超链接

while($row = $stmt->fetch()) { 
    $return_arr[] = '<a href="'.$row['slug'].'">'.$row['title'].'</a>'; 
    } 

echo json_encode($return_arr); 

导致:

<a href="link">title</a> 

我怎样才能返回一个超链接?我也尝试逃避报价。

回答

1

JSON是一种数据格式,可以在端点之间传输数据(例如REST服务 - HTML客户端)或将数据轻松存储在nosql数据库中。

如果您希望您的输出可点击,请删除json_encode()并直接打印结果。

while($row = $stmt->fetch()) { 
    echo '<a href="'.$row['slug'].'">'.$row['title'].'</a>'; 
} 
+0

无论如何,让它在json中可点击吗? – 2015-03-18 22:27:29

+0

JSON不是用来在UI上显示数据的交互式格式。如果您想使超链接可点击,请呈现HTML。 – QQping 2015-03-18 22:29:01

+0

关于如何运输然后渲染它的任何建议? – 2015-03-18 22:31:09

0

您的第二行代码的/位于</a>错位,因此生成的HTML已损坏。

开关的第二行代码是

$return_arr[] = '<a href="'.$row['slug'].'">'.$row['title'].'</a>'; 

编辑

我们也一定要清楚你一般将代码粘贴。假设您的$stmt->fetch()正在返回有效数据,上面的代码将创建一个HTML标记作为数组中的一个元素,然后回显JSON编码数组。原样,您不会从该echo声明中获得可呈现的HTML。

+0

谢谢你,pdo语句很好,而且类型只在这里。 – 2015-03-18 22:26:55

+0

以下您的评论 - JSON不可点击。它是一种传输格式。它不是以HTML格式呈现的。你将不得不放弃'json_encode()' – 2015-03-18 22:30:05