2016-02-13 2 views
-1

Когда я пытаюсь получить данные из базы данных с помощью Ajax, PHP возвращает это:PHP JSON Возвращает u0000

{"readyState":4,"responseText":"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000array(4) {\n [\"USR_ID\"]=>\n string(1) \"1\"\n [\"PLT_ID\"]=>\n string(1) \"1\"\n [\"NRS.ID\"]=>\n string(1) \"1\"\n [\"url\"]=>\n string(59) \"http://remcocr9.nine.axc.nl/tones/music/ontopoftheworld.mp3\"\n}\n","status":200,"statusText":"OK"} 

Это мой PHP код:

<?php  
    class Playlist 
    { 
     public function getPlaylists($link, $song, $usrid) 
     { 
      $playlists = $link->query("SELECT * FROM TO_PLT WHERE USR_ID = " . $usrid . ";"); 
      if($playlists->num_rows) // 1 or more playlists were found 
      { 
       while($playlist = $playlists->fetch_assoc()) 
       { 
        // echo an opening DIV containing the playlist name etc via json 

        $data = $song->getSong($link, $playlist[ "PLT_ID" ], $usrid); 

//     echo json_encode($data); 
        var_dump($data); 
//     echo json_encode($playlist); // Return playlist data 
        // echo a closing DIV tag via JSON so the playlist DIV is closed 
       } 
      } 
      else 
      { 
       // no playlists were found 
      } 
     } 
    } 
?>        

А вот JavaScript/Ajax код, который я использую, чтобы получить данные:

function ajaxRequest() { 
$.ajax({ 
    type: "GET", 
    url: hostURL + "users.php", 
    dataType: 'json' 
}).done(function (data) { 
    console.log(JSON.stringify(data)); 
}).fail(function (data) { 
    console.log(JSON.stringify(data)); 
}); 
} 

функция вызывается с помощью функции Ajax, как я избавиться от \u0000? или есть еще одна ошибка в моем коде, которая вызывает это?

+1

Ну, вы, конечно, не возвращаете JSON. Это одна из причин, почему он терпит неудачу. –

+0

Я полагаю, что это код utf-8, может быть, это особый символ или буква с акцентом. – andreshg112

+1

Не 'echo json_encode' в цикле, поместить все ваши данные в массив/объект, а затем' echo json_encode', что –

ответ

0

PHPStorm убил мой код, он добавил тонну текста NULL после окончания моего кода, это не было видно в PHPStorm, но когда я открыл файл в Sublime текстовом редакторе, он показал мне NULL text/tags.