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

时间:2013-11-02 09:25:58

标签: javascript php jquery html ajax

我有一个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中获取返回的数组?

谢谢!

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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;
        }
    });
}