在 jquery 中将数据返回给 ajax 调用

Return data back to ajax call in jquery

本文关键字:ajax 调用 返回 数据 jquery      更新时间:2023-09-26

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

谢谢!

尝试使用 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;
        }
    });
}