Json 不会从 PHP 接收数据

Json don't receive data from PHP

本文关键字:数据 PHP Json      更新时间:2023-09-26

嗨,我将一个数组从 php 传递到另一个数组以使用 json 在 javascript 函数上使用它,但没有返回任何内容,一直给我"null"。

PHP代码

function getParents($id_child){
include "conexion.php";
$query = $conexion->query('SELECT person_id FROM children WHERE children_id='.$id_child.';');
$query->execute();
while ($res = $query->fetch()) {
    $id_parents[] = $res[0]; //family_id
}
return $id_parents;
echo json_encode($id_parents);

}
getParents($_POST['id_child']);

接受 json 的 Php:

    <?php
$json_data=json_encode($id_parents);
?>
function sacarPadres(id_child){
    $.ajax({
            data:  {"id_child" : id_child,
            },
            url:   'php/functions_sql.php',
            type:  'post',
            success:  function(output) {
              }
    });
    var an_obj= "<?php echo $json_data;?>";
alert(an_obj); // always null 
}
<div id="form">
<FORM NAME=form1>
    <INPUT TYPE='button' NAME='myFamily' value='add new family' onclick="sacarPadres(70);">
</FORM>

返回类型后,一切都消失了

只是remove return type

//return $id_parents;
  echo json_encode($id_parents);

更新

function getParents($id_child){
include "conexion.php";
$query = $conexion->query('SELECT person_id FROM children WHERE children_id='.$id_child.';');
$query->execute();
while ($res = $query->fetch()) {
    $id_parents[] = $res[0]; //family_id
}
return json_encode($id_parents);

}
echo $val=getParents($_POST['id_child']);

阿贾克斯

$.ajax({
            data:  {"id_child" : id_child,
            },
            url:   'php/functions_sql.php',
            type:  'post',
            success:  function(output) {
                      alert(output);//alert here
              }
    });

return 语句会导致程序退出函数。return之后的所有语句都不会被执行。return移动到函数的末尾或完全删除。