我如何在稍后使用内容类型:json 标头打印 json 时让 href 链接工作



我有几个简单的php页面,可以从API中提取数据并打印它收到的JSON。我有另一个php索引页面,其中包含指向这些页面的链接。在原始页面上,我试图包含一个主页链接以返回索引页面,但是我包含的 href 与我用于使用 JSON 的内容类型标头配合不佳。

它在带有 apache 的树莓派上的行为也与在我的网络托管域页面上的行为不同。

<?php
$link = 'index.php';
echo "<a href='$link'>Home</a><br>";
header("Content-Type: application/json; charset=UTF-8");
echo "First line of data";
...

我希望输出是

Home
First line of data
Second line
Third line

我在 apache 中得到的是:

<a href='index.php'>Home</a>
First line of data
Second line
Third line

我在托管域上得到什么:

Home
First line of data Second line Third line

如果只想返回 JSON,可以保留 Content-Type 标头。 但是,如果您希望 HTML 元素正常工作(例如<a>),则必须保留默认的内容类型,并将 JSON 打印为文本。

此外,正如删除的帖子所提到的,您要么必须使用

echo('<a href="'.$link.'"></a><br>');

或转义双引号

echo("<a href="".$link.""></a><br>");

最新更新