我想從 PHP 腳本返回 JSON。
我只是回顯結(jié)果嗎?我是否必須設(shè)置 Content-Type
標(biāo)頭?
返回 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 );
雖然通常沒有它也沒什么問題,但您可以而且應(yīng)該設(shè)置 Content-Type
標(biāo)頭:
<?php $data = /** whatever you're serializing **/; header('Content-Type: application/json; charset=utf-8'); echo json_encode($data);
如果我不使用特定的框架,我通常允許一些請求參數(shù)來修改輸出行為。通常對于快速故障排除來說,不發(fā)送標(biāo)頭,或者有時 print_r
數(shù)據(jù)負(fù)載來觀察它可能很有用(盡管在大多數(shù)情況下,這不是必需的)。