繁体   English   中英

将数据返回到jQuery中的ajax调用

[英]Return data back to ajax call in jquery

我有一个php代码(没有函数,只有直接代码),它查询数据库将值存储在数组中并返回该数组

<?php
//Query the database and fetch some results
    $array["min_date"] = $arr['min(date)'];
    $array["max_date"] = $arr['max(date)'];
    $array['query'] = $query;

    echo $arr['min(date)'].'</br>';
    echo $arr['max(date)'];

    return $array;
?>

这是我的jQuery ajax调用

function date(){
    $temp = $('select[name=people_name]').val();
    $name = $temp;
    $table = 'myTablename'; 
    $url = "/myurl/php/get_date.php?name="+$name+"&table="+$table;
    $.ajax({
        type: "POST",
        url: $url,
        success: function(data) {
         document.getElementById("from_date").value = data['min_date'];
         document.getElementById("to_date").value = data['max_date'];
        }
    });
}

当我回显php变量时,我确实得到了想要的数据。 但是记录jquery变量给我结果未定义。

也许PHP返回的数据不是通过ajax success(data)来获取的? 还是我的PHP代码中需要功能? 如何在我的jquery中获取返回的数组?

谢谢!

尝试使用json_encode()在php端对数组进行编码。

在你的PHP中

//Query the database and fetch some results
$array["min_date"] = $arr['min(date)'];
$array["max_date"] = $arr['max(date)'];
$array['query'] = $query;
echo json_encode($array); //add this

在ajax电话

function date(){
    $temp = $('select[name=people_name]').val();
    $name = $temp;
    $table = 'myTablename'; 
    $url = "/myurl/php/get_date.php?name="+$name+"&table="+$table;
    $.ajax({
        type: "POST",
        dataType:'json', //add dataType
        url: $url,
        success: function(data) {
         document.getElementById("from_date").value = data.min_date;
         document.getElementById("to_date").value = data.max_date;
        }
    });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM