leoxqing 发表于 2012-06-01 17:04

php传json数据给js问题

本帖最后由 leoxqing 于 2012-06-01 17:05 编辑

cpuload.php
<?php
include_once 'include/global.php';
include_once 'include/dbquery.php';
        if(!empty($_POST['ip']) && !empty($_POST['time'])) {       
                $ip=$_POST['ip'];
                $time=$_POST['time'];
          #$sql="select ip,max(loadvalue) as maxvalue,round(avg(loadvalue),2) as avgload,date(start_time) as start_time,servertype asservertype from s_cpuload_stat where ip='$ip' and date(start_time)='$time' group by ip,date(start_time)order by 5";
          $sql="select ip,max(loadvalue) as maxvalue,round(avg(loadvalue),2) as avgload,date(start_time) as start_time,servertype asservertype from s_cpuload_stat group by ip,date(start_time)order by 1";
          $sth=new db_query($dsn, $database_username, $database_password);
                $query=$sth->dbquery($sql);
                }
                else {
                        die("rows can't find\n");
                }
        foreach ($query as $rows) {
          $ip=$rows['ip'];
                $maxload=$rows['maxvalue'];
                $avgload=$rows['avgload'];
                $start_time=$rows['start_time'];
                $servertype=$rows['servertype'];
                $arr=array($rows['ip'],$rows['maxvalue'],$avgload=$rows['avgload'],$start_time=$rows['start_time'],$servertype=$rows['servertype']);
                $string=json_encode($arr);
                echo "$string";
                }               
?>

js接收数据(index.php):
function post(){
        $.post("cpuload.php",{ip:$("#ip").val(),time:$("#time").val()},function(data){
                var jsondata=eval("("+data+")");
                foreach (var i=0;i<jsondata.length;i++) {
                document.getElementById('ip1').innerHTML=data;
                document.getElementById('maxvalue1').innerHTML=data;
                document.getElementById('avgload1').innerHTML=data;
                document.getElementById('start_time1').innerHTML=data;
                document.getElementById('servertype1').innerHTML=data;
                }                })       
}

红色部分循环无法正常赋值,求高手赐教,怎么才能正常处理php传递过来的数据?

satrun7 发表于 2012-06-02 13:11

foreach (var i=0;i<jsondata.length;i++) ? 你到底用php写js,还是用js写php?

xinglu1983 发表于 2012-06-04 13:45

回复 1# leoxqing


    var jsondata=eval("("+data+")"); 这一行作用是什么?我记得js可以接受json的,可以去掉这行,直接循环data试一下。

samyip0724 发表于 2012-06-05 16:23

:oo:oo用jquery post,后面是不是少了一个属性呢???$.post('XX.php',{xx:xx},function cb(data){},"json");

witer666 发表于 2012-06-10 13:14

楼上两位都正确
页: [1]
查看完整版本: php传json数据给js问题