为了账号安全,请及时绑定邮箱和手机立即绑定

从 Ajax 将数组从 PHP 返回到 jQuery

从 Ajax 将数组从 PHP 返回到 jQuery

PHP
慕慕森 2022-01-08 17:14:15
我正在尝试从 Ajax 获取 PHP 返回的数组。这是我的 Ajax 调用:我的 PHP 代码是这样的:查询运行良好。我试图获得像alert(data[0].program_title)ajax 成功一样的值。但它也会返回Undefined。我该如何解决这个问题?
查看完整描述

3 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

在您的 PHP 代码中:


//remove

return $data


//change with

echo json_encode($data);


查看完整回答
反对 回复 2022-01-08
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

在将数据刷新回流(返回)之前,使用函数将数据($data在本例中为变量)转换为 JSON 字符串json_encode并添加正确的内容类型 。application/jsonheader


但是,最佳做法是为传输中包含的数据提供一些元数据,例如数据的大小和数据中元素的数量,以及如果分页,数据指的是哪个页面以及最大可用页面和最大元素大小是多少一页都是。


这是用于更强大的数据传输的示例主体结构:


$response = [

   'page'          => 0,   // e.g.

   'count'         => count($data),

   'data'          => $data,

   'max_page'      => 3,   // e.g.

   'item_per_page' => 15,  // e.g.

   'status_code'   => 200, // e.g.

];

header ( "Content-Type: application\/json", true , 200);

return json_encode(

   $response

   , JSON_INVALID_UTF8_SUBSTITUTE

      | JSON_NUMERIC_CHECK

      | JSON_PRESERVE_ZERO_FRACTION

      | JSON_UNESCAPED_LINE_TERMINATORS

      | JSON_UNESCAPED_SLASHES

      | JSON_UNESCAPED_UNICODE

);


查看完整回答
反对 回复 2022-01-08
?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

试试这个:


$data = [];

if ($numRows>0) {

    while($row=$result->fetch_assoc()) {

        $data[] = $row;

    }

}

用 echo 替换 return 并添加json_encode


echo json_encode($data);


查看完整回答
反对 回复 2022-01-08
  • 3 回答
  • 0 关注
  • 154 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信