qq_43495629
男孩子小杨
采纳率0%
2019-06-05 17:46 阅读 487

ajax获取不到php从数据库里面读取到的数据,(php读取到的数据已经成功转换成了json数据)

javascript代码:

// 初始化两个数组,盛装从数据库中获取到的数据
    var dates = new Array(), moneys = new Array();
    //调用ajax来实现异步的加载数据
    function getusers() {
        $.ajax({
            type: "post",
            async: false,
            data:{},
            url: "dataDemo/dataIndex.php",
            data: {},
            dataType: "json",
            success: function(result){
               if(result){
                    for(var i = 0; i < result.length; i++){
                        dates.push(result[i].sum);
                        moneys.push(result[i].money);
                    }    
                }
            },
            error: function(errmsg) {
                alert("Ajax获取服务器数据出错了!"+ errmsg);
            }
        });
        return dates, moneys;
    }
    //执行异步请求
    getusers();

public_function.php代码:

<?php 
    function dbInit(){
    global $con;
    $dsn = "mysql:dbname=info;localhost=127.0.0.1";
    $user = "root";
    $password = "644066YanMin&&!+";
    try{
        $con = new PDO($dsn,$user,$password);
    }catch(PDOExcepetion $e){
        die ("Error!: " . $e->getMessage() . "<br/>");
    }   
}

    /*
            处理结果集中有多条数据的函数;
        */
    function fetchAll($sql){
        global $con;

        class user{
           public $times;
           public $money;
        }

        if($result = $con->query($sql)){
            //声明数组,用于接收结果集;
            $data = array();

            //遍历结果集;
            while($row = $result->fetch(PDO::FETCH_ASSOC)){
                $user = new User();
                $user->times = $row['times'];
                $user->money = $row['sum'];
                $data[] = $user;    
            }
            return $data;
        }else{
            //执行失败;
            return false;
        }
    }

dataIndex.php代码

<?php
    require "public_function.php";
    dbInit();

    $sql = 'select times,sum from date';

    $datas = fetchAll($sql);

    // 返回JSON类型的数据
    echo json_encode($datas);

    //$con = null;
    require "dataIndex.html";

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • shengle123 shengle123 2019-06-05 20:05

    ajax 请求成功了么

    点赞 评论 复制链接分享
  • qq_23126581 郭老师的小迷弟雅思莫了 2019-06-06 01:55

    ajax有没有请求成功就看success方法。

    function getusers() {
            $.ajax({
                type: "post",    //POST请求
                async: false,   //是否同步
                data:{},           //data这是传数据
                url: "dataDemo/dataIndex.php",    //这个就请求的方法路径或者说路由
                data: {},                      // ???为何重复?
                dataType: "json",
                success: function(result){                   //若返回成功,就执行success这个发方法,result就是返回的数据
                   if(result){
                        for(var i = 0; i < result.length; i++){
                            dates.push(result[i].sum);
                            moneys.push(result[i].money);
                        }    
                    }
                },
                error: function(errmsg) {                     //这个就是返回失败触发的事件。
                    alert("Ajax获取服务器数据出错了!"+ errmsg);
                }
            });
            return dates, moneys;
        }
        //执行异步请求
        getusers();
    
    
    点赞 评论 复制链接分享
  • ldTrueLove 林子懿 2019-06-06 11:30

    你返回的数据要保持一致,不管是正确还是错误 都返回相同类型的数据,然后看一下返回的数据

    点赞 评论 复制链接分享
  • zt13502162671 zt13502162671 2019-06-06 16:26

    f12 ,network,点到触发的ajax名称,看下是200还是别的

    点赞 评论 复制链接分享

相关推荐