php header在浏览器上打印完整的html代码
Posted
技术标签:
【中文标题】php header在浏览器上打印完整的html代码【英文标题】:php header printing full html code on browser 【发布时间】:2022-01-16 10:29:11 【问题描述】:我正在用 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 会以文本形式显示。我该如何解决?
【问题讨论】:
你在这些 if/else 语句之前输出任何东西吗?header()
应该在任何输出之前使用。
不,它是一个干净的 PHP 文件,没有 HTML 代码。甚至没有回声
HTML 显然来自某个地方。
寻求代码帮助的问题必须包括在问题本身中重现它所需的最短代码,最好在Stack Snippet 中。请参阅如何创建 Minimal, Reproducible Example。在您的问题中显示预期结果并引用您遇到的任何(确切)错误也非常有帮助。您应该展示自己为解决这个问题所做的任何研究。
【参考方案1】:
当你删除内容类型标题时它并没有真正得到修复,但是 HTML 部分将变得“不可见”,因为内容类型将回退到默认的text/html
;如果你检查页面的源代码,你会发现它仍然存在。
真正的解决方案是搜索上面的HTML打印在哪里,然后将其删除。
【讨论】:
整个文件没有HTML,只有PHP 谢谢。找到了解决方案。 common.php 有一部分,我刚刚找到它。非常感谢以上是关于php header在浏览器上打印完整的html代码的主要内容,如果未能解决你的问题,请参考以下文章
php鼠标移到按钮上总会在浏览器状态栏显示php文件的完整路径,怎么隐藏这路径
使用Image header() & readfile()在PHP页面上显示一个Base64图像。