php header 在浏览器上打印完整的 html 代码

php header printing full html code on browser

我正在从 PHP 制作一个简单的 API。

代码片段:

        elseif ($_GET["command"]="verifyconn"){
            header("Content-Type: application/json");
            $data=array("response" => "success");
            echo json_encode($data);
            exit;
        }

每当执行此操作时,我都会在浏览器上收到此响应:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<body>
</body>
</html>{"response":"wrong_secret"}

整个 HTML 代码被打印在浏览器上。当我删除 header("Content-Type: application/json"); 时,它得到修复并且 JSON 显示但以文本形式显示。我该如何解决?

当您删除内容类型 header 时,它并没有得到真正的修复,但是 HTML 部分将变得“不可见”,因为内容类型将回退到默认 text/html;如果您检查页面的源代码,您会发现它仍然存在。

真正的解决办法是搜索上面HTML的打印位置,去掉