我有一个PHP脚本,它从mysql中选择一些数据并将其扔到以下行:
$json_arr[] = array ('date'=>$human_date,'weight'=>$data['weight']);
当我使用PHP4运行服务器时,我使用Services_JSON(http://pear.php.net/pepr/pepr-proposal-show.php?id=198)脚本来JSON-ify数据:
$json = new Services_JSON();
echo $json->encode($json_arr);
在JS文件中,我想显示所有权重&日期:
$.getJSON('ajax/getweights.php', {userid: userid}, function(data) {
$.each(data, function(k, v) {
alert(v + ': ' v);
});
});
当我运行脚本时,我没有得到想要的结果,例如2011-01-10:90,2011-01-15:92,2011-01-18:89。
我是jQuery的新手,我一直在网上搜索答案,我试图找出如何阅读这些数据 - 我希望有人可以帮助我:)。
答案 0 :(得分:1)
假设服务器以下列格式发送数据:
[ { date: '2011-01-10:90', weight: '1' },
{ date: '2011-01-15:92', weight: '2' },
...
]
你可以:
$.each(data, function(k, v) {
alert('date: ' + v.date + ' | weight: ' + v.weight);
});
答案 1 :(得分:0)
更容易实现这一目标:
$json_arr[] = array(
'date' => $human_date,
'weight' => $data['weight']
);
$json = new Services_JSON();
echo 'processData(' . $json->encode($json_arr) . ')';
和JavaScript:
// Callback function which processes the data
function processData(data) {
for(var i = 0; i < data.length; i++)
alert(data[i].date + ', ' + data[i].weight);
}
// Here we import the data
var s = document.createElement('script');
s.src = 'ajax/getweights.php';
document.body.appendChild(s);