0

我想要做的是响应一个 JSON 数组的 PHP 文件输出。

header("Content-Type: application/json");
$ret["response"] = array();

$items = getItems();
$ret["response"] = array();
ob_start();
foreach($items as $model){
    include("view/item.php");
    $ret["response"][] = ob_get_contents();
    ob_end_clean();
}
ob_end_clean();
echo json_encode($ret);

该文件view/item.php包含一些 PHPecho语句,但问题是响应包含include语句的输出和 JSON 编码项。

如何让脚本只返回 JSON 部分?

4

2 回答 2

1

试试你的代码,

foreach($items as $model){
    ob_start();
    include("view/item.php");
    $ret["response"][] = ob_get_contents();
    ob_end_clean();
}
ob_end_clean();

或者,

ob_start();
foreach($items as $model){
    include("view/item.php");
    $ret["response"][] = ob_get_contents();
}
ob_end_clean();
于 2013-06-20T11:05:49.823 回答
0

第二个选项可以正常工作。

ob_start();
foreach($items as $model){
  include("view/item.php");
  $ret["response"][] = ob_get_contents();
}
ob_end_clean();
于 2013-06-20T11:27:11.553 回答