[英]PHP json_encode() returning Undefined to $.getJSON
我在php中創建一個數組,然后使用json_encode()在通過$ .getJSON獲取它之前,但是它返回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。 當我從數據庫中刪除所有內容時,一切開始正常運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.