我在php中创建一个数组,然后在使用$ .getJSON获取它之前使用json_encode(),但它返回Undefined。如果我只向JS发送一行它工作正常(json_encode($ classes [0]))但是当我尝试发送所有数据时它返回Undefined。有任何想法吗?
这是通过查询数据库并返回结果生成的一小部分数组...
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);
}
);
});
我发现了这个问题。它不在SQL查询返回的数据中的代码中。此字符 是存储在数据库中的字符串的一部分。那个角色以某种方式让JSON返回Undefined。当我从数据库中删除everything时,一切正常。