2014-02-16 4 views
-1

Итак, я пытаюсь перечислить информацию о пользователях в моей базе данных и PHP, создавая json_encoding для каждого пользователя.Javascript прочитал JSON с url

У меня есть PHP-файл, который есть этот код:

$sql = mysql_query("SELECT * FROM "); 
$userinfo = array(); 
while($row = mysql_fetch_array($sql)) 
    $userinfo[] = $row;  


foreach ($userinfo as $user) { 
    echo json_encode(array('id' => $user['id'])); 
} 

Это дает мне этот выход:

{"id":"518536076"}{"id":"511953404"}{"id":"557076722"} etc.. 

Тогда я хочу, чтобы прочитать эту информацию с моим файлом Javascript с помощью:

$.ajax({ 
    type: "POST", 
    url: "http://url to php file.php", 
    datatype: 'json', 
    success: function(data){ 
     var parsed_data = $.parseJSON(data); 
     var nTotal = parsed_data.id; 
     console.log(nTotal); 
    } 
}); 

Но это не работает в мою пользу, я просто получаю

JSON.parse: unexpected non-whitespace character after JSON data 

Любая идея, что мне нужно для фиксации, чтобы сделать эту работу?

Заранее благодарен! :)

+2

вы не звоните json_encode несколько раз, что даст вам неверный текст JSON, просто вызов 'json_encode ($ userinfo);' и он будет делать весь массив. Также при использовании метода ajax JQuery с помощью 'dataType: 'json'' он автоматически анализирует его, не нужно самостоятельно его анализировать. –

+1

Является ли это Javascript точно так, как он появляется? Потому что в конце URL-адреса отсутствует пропущенная цитата. – MrLore

+0

А, я вижу. Спасибо :) Нет, я, должно быть, забыл, когда удалил свой url. –

ответ

2

Проблема находится на задней торцевой стороне:

Вы должны заменить свой последний Еогеасп с этим:

$output = array(); 
foreach ($userinfo as $user) { 
    $output[] = array('id' => $user['id']); 
} 

header('Content-type: application/json'); 
echo json_encode($output), 
+0

Спасибо @StefanoOrtisi! Выглядит хорошо :) –

Смежные вопросы