簡體   English   中英

PHP json_encode()返回Undefined到$ .getJSON

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM