从PHP脚本返回JSON
我想从PHP脚本返回JSON。
我只是回应结果? 我必须设置Content-Type
标头吗?
虽然你通常没有它,但你可以并且应该设置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');
。
上一篇: Returning JSON from a PHP Script
下一篇: Conversion of php multidimensional array to javascript array