虽然没有它你通常很好,你可以并且应该设置 Content-Type 标题:
<?PHP
$data = /** whatever you're serializing **/;
header('Content-Type: application/json');
echo json_encode($data);
如果我没有使用特定的框架,我通常会允许一些请求参数来修改输出行为。它通常用于快速故障排除,不发送标题,或者有时 print_r 数据有效负载以引人注目(尽管在大多数情况下,它不是必需的)。
返回 JSON 的一整套漂亮而清晰的 PHP 代码是:
$option = $_GET['option'];
if ( $option == 1 ) {
$data = [ 'a', 'b', 'c' ];
// will encode to JSON array: ["a","b","c"]
// accessed as example in JavaScript like: result[1] (returns "b")
} else {
$data = [ 'name' => 'God', 'age' => -1 ];
// will encode to JSON object: {"name":"God","age":-1}
// accessed as example in JavaScript like: result.name or result['name'] (returns "God")
}
header('Content-type: application/json');
echo json_encode( $data );
尝试使用json_encode对数据进行编码,并使用header('Content-type: application/json');
设置内容类型header('Content-type: application/json');
。