【发布时间】:2019-03-05 18:24:35
【问题描述】:
我在 php 中创建一个数组,然后在使用 $.getJSON 获取它之前使用 json_encode() 但它返回未定义。如果我只向 JS 发送一行,它工作正常(json_encode($classes[0]))但是当我尝试发送所有数据时它返回未定义。有什么想法吗?
这是通过查询数据库并返回结果生成的一小部分数组...
Array
(
[0] => Array
(
[Record_Type] => S
[Convention_ID] =>
[Event_ID] => 19030145
[Sponsor_ID] => Google
[Course_ID] => 2837199
[Last_Modified_Date_Time] => DateTime Object
(
[date] => 2019-02-25 10:03:36.000000
[timezone_type] => 3
[timezone] => US/Pacific
)
)
[1] => Array
(
[Record_Type] => S
[Convention_ID] =>
[Event_ID] => 19030111
[Sponsor_ID] => Google
[Course_ID] => 2837192
[Last_Modified_Date_Time] => DateTime Object
(
[date] => 2019-02-21 07:23:47.000000
[timezone_type] => 3
[timezone] => US/Pacific
)
)
这里是php减去SQL语句...
$stmt = sqlsrv_query($conn, $sql);
$classes = array();
while( $class = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
$classes[] = $class;
}
echo $_GET['callback'] . '('.json_encode($classes).')';
这是我用来获取 JSON 数据的 Javascript...
$(function() {
$.getJSON("https://example/api/education.php?callback=?",
function(data) {
console.log(data);
}
);
});
【问题讨论】:
-
你的 php 脚本是否返回了有效的 JSON?
-
@asiby 我如何查看?
-
直接导航到“example/api/education.php?callback=?” jQuery 的做法与此相同。但在您的情况下,只需在浏览器中输入 URL 并观看将显示的内容。您可能希望将第二个
?替换为适当的值。 -
使用 var_dump(); 检查它
-
@asiby 当我直接导航到它返回 ?() 的 URL 时,我不确定“用正确的值替换第二个 ?”是什么意思。我应该有什么价值?
标签: javascript php jquery arrays json