我想从PHP脚本返回JSON。
我只是重复结果吗?我必须设置内容类型头吗?
我想从PHP脚本返回JSON。
我只是重复结果吗?我必须设置内容类型头吗?
当前回答
你问题的答案在这里,
它说。
JSON文本的MIME媒体类型为 application / json。
所以如果你设置标题为那种类型,并输出你的JSON字符串,它应该工作。
其他回答
设置访问安全性也很好——只需将*替换为您希望能够访问它的域。
<?php
header('Access-Control-Allow-Origin: *');
header('Content-type: application/json');
$response = array();
$response[0] = array(
'id' => '1',
'value1'=> 'value1',
'value2'=> 'value2'
);
echo json_encode($response);
?>
这里有更多的例子:如何绕过Access-Control-Allow-Origin?
你问题的答案在这里,
它说。
JSON文本的MIME媒体类型为 application / json。
所以如果你设置标题为那种类型,并输出你的JSON字符串,它应该工作。
用header(' content -type: application/json')设置内容类型;然后对数据进行回显。
<?php
$data = /** whatever you're serializing **/;
header("Content-type: application/json; charset=utf-8");
echo json_encode($data);
?>
如果你在WordPress中这样做,那么有一个简单的解决方案:
add_action( 'parse_request', function ($wp) {
$data = /* Your data to serialise. */
wp_send_json_success($data); /* Returns the data with a success flag. */
exit(); /* Prevents more response from the server. */
})
请注意,这不在wp_head钩子中,该钩子将始终返回大部分头部,即使您立即退出。parse_request在序列中出现得更早。