0

我有一个 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成功(数据)获取的?还是我需要在我的 php 代码中有一个函数?如何在我的 jquery 中获取返回的数组?

谢谢!

4

2 回答 2

3

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

于 2013-11-02T09:31:11.897 回答
0

在你的 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;
        }
    });
}
于 2013-11-08T09:00:45.973 回答