【发布时间】:2009-03-18 12:23:06
【问题描述】:
我似乎对 PHP 输出缓冲感到困惑。我有这样的代码:
function return_json($obj) {
ob_get_clean();
ob_start();
header("Content-Type: application/json");
echo json_encode($obj);
exit;
}
但它似乎不喜欢 ob_get_clean()。我这样做是因为一些 HTML 可能会在它到达那个点之前意外生成,但我认为这就是你应该这样做的方式。
我错过了什么?
【问题讨论】:
-
那么到底出了什么问题? “它似乎不喜欢 ob_get_clean()”是什么意思?它是否说标头已经发送?如果没有得到 JSON 输出,则应删除函数中的 ob_start()。
-
我的 JSON 调用出错。好像没有返回载荷。
-
如果我没看错,你不知道脚本的输出是什么?你使用 FireBug 吗?仅用于测试:将 Content-Type 替换为一些 HTMLish 内容并直接调用脚本。
标签: php output-buffering