Данные JSON не отображаются с помощью getJSON

#php #jquery #json

#php #jquery #json

Вопрос:

 $('document').ready(function() 
    { 
        $.getJSON('news.php', parseInfo);
});

function parseInfo(data)
{
    alert(data.news);//undefined
    $('#info').html(data.news);
}
  

Мой вывод PHP (news.php ) является [{"id":"20110428","news":"april 28 2011"}]

Комментарии:

1. Всегда отдавайте предпочтение подлинному ответу, который действительно помогает вам, и, наконец, выбирайте наиболее подходящий ответ как правильный … 🙂

Ответ №1:

Ваш объект заключен в массив.

Вам нужно data[0].news

В качестве альтернативы удалите внешние квадратные скобки из вашего вывода JSON.

Ответ №2:

Похоже, что это массив, поэтому вы, вероятно, захотите сделать следующее:

 alert(data[0].news);
  

Комментарии:

1. Я думаю, что Алнитак был первым, вам, вероятно, следует принять его ответ!

Ответ №3:

Ваш вывод представляет собой массив с элементом JSON. либо удалите [] , либо укажите на (угадайте здесь) data[0].news

Комментарии:

1. Вы правы, Нанне ….. я взял массив из массива ! <?php include_once(«connect.php «); if(isset($_GET[‘id’])) { $date = $_GET[‘id’]; } else{ $date = дата(«Ymd»); } $sql = «ВЫБЕРИТЕ идентификатор, новости ИЗ daily, где id = ‘$date'»; $res=mysql_query($ sql) или die («Ошибка запроса»); while($row = mysql_fetch_array($res)) { $data[‘id’] = $row[‘id’]; $data[‘news’] = $row[‘news’]; //$arr[] = $data; вот где я допустил ошибку } //print_r($arr); $json_data = json_encode ($ data); echo $ json_data; ?>