免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5195 | 回复: 4

php传json数据给js问题 [复制链接]

论坛徽章:
0
发表于 2012-06-01 17:04 |显示全部楼层
本帖最后由 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 as  servertype 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 as  servertype 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[0];
                document.getElementById('maxvalue1').innerHTML=data[1];
                document.getElementById('avgload1').innerHTML=data[2];
                document.getElementById('start_time1').innerHTML=data[3];
                document.getElementById('servertype1').innerHTML=data[4];
                }
                })       
}

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

论坛徽章:
0
发表于 2012-06-02 13:11 |显示全部楼层
  1. foreach (var i=0;i<jsondata.length;i++)
复制代码
? 你到底用php写js,还是用js写php?

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:55:28
发表于 2012-06-04 13:45 |显示全部楼层
回复 1# leoxqing


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

论坛徽章:
0
发表于 2012-06-05 16:23 |显示全部楼层
用jquery post,后面是不是少了一个属性呢???$.post('XX.php',{xxx},function cb(data){},"json";

论坛徽章:
0
发表于 2012-06-10 13:14 |显示全部楼层
楼上两位都正确
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP