从 Ajax 将数组从 PHP 返回到 jQuery

我正在尝试从 Ajax 获取 PHP 返回的数组。

这是我的 Ajax 调用:

http://img4.mukewang.com/61d955f70001c20606060378.jpg

我的 PHP 代码是这样的:

http://img1.mukewang.com/61d956020001c62206950238.jpg

查询运行良好。


http://img3.mukewang.com/61d9560d0001541a01860125.jpg

我试图获得像alert(data[0].program_title)ajax 成功一样的值。但它也会返回Undefined

我该如何解决这个问题?


慕慕森
浏览 155回答 3
3回答

哔哔one

在您的 PHP 代码中://removereturn $data//change withecho json_encode($data);

阿波罗的战车

在将数据刷新回流(返回)之前,使用函数将数据($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);

泛舟湖上清波郎朗

试试这个:$data = [];if ($numRows>0) {    while($row=$result->fetch_assoc()) {        $data[] = $row;    }}用 echo 替换 return 并添加json_encodeecho json_encode($data);
打开App,查看更多内容
随时随地看视频慕课网APP