我正在尝试使用PHP从数据库中获取数据并将其传递给jQuery,以便我可以在动态的Google图表中使用它。我已经使用json_encode()将我的PHP数组转换为JSON,但现在我必须使用jQuery访问此数据以将其传递给google图表。
我的PHP代码:
$db = new Db(DB_NAME, DB_HOST, DB_USER, DB_PASSWORD);
$dates = array();
for($number=14; $number>=1; $number--) {
$dateValue = date('j M', strtotime("-$number day"));
$getCount[$number] = $db->get($this->styleName, $dateValue);
$items[$dateValue[$number]] = $getCount[$number];
}
$json_encode = json_encode($dates);
var_dump($json_encode);
我输出的JSON:
{
"15 Apr": "19",
"16 Apr": "15",
"17 Apr": "18",
"18 Apr": "13",
"19 Apr": "27",
"20 Apr": "2",
"21 Apr": "12",
"22 Apr": "9",
"23 Apr": "11",
"24 Apr": "20",
"25 Apr": "25",
"26 Apr": "137",
"27 Apr": "99",
"28 Apr": "115"
}
我的主要问题是如何将此数据传递给我的jQuery脚本? 如果我以正确的方式做这件事或帮助我走上正轨,有人会说我吗?
提前致谢:)
答案 0 :(得分:6)
在php文件的开头发送json标头:
<?php
header('Content-Type: application/json');
// build $datas
echo json_encode($datas);
?>
用jquerys getJSON函数拉json:
$.getJSON('path/to/php/file.php', function(jsondata) {
// use jsondata here
});
答案 1 :(得分:0)
您可以在单独的请求中执行此操作,因此您的请求仅输出json并使用$ .getJson()获取它;这是一种干净的方式,但需要额外的请求;
或者您可以将其包含在html
中的标签中输出模板:
<html>
...
...
<script type="text/javascript">
$.yourOwnJqueryExtention.setJSON(<?=$myJSON?>);
</script>
</body>
</html>
答案 2 :(得分:0)
更简单,您不需要更改标题信息(例如,在Wordpress中几乎不可能),只需将编码对象转换为字符串即可。
$json_encode = (string)$json_encode;