Извлечение JSON в jquery из php-скрипта - PullRequest
1 голос
/ 09 марта 2011

У меня есть PHP-скрипт, который при запуске выводит это.Я не могу понять, как получить доступ к этому в JQuery. Я пробовал различные методы из учебников, но безрезультатно.* Это ничего не выводит.


Спасибо за любую помощь.

Ответы [ 3 ]

2 голосов
/ 09 марта 2011

Это , а не , действительный JSON:

{"name":"photo1.jpg","id":"1"}{"name":"photo2.jpg","id":"2"}

Это должно выглядеть так:

[{"name":"photo1.jpg","id":"1"},{"name":"photo2.jpg","id":"2"}]

Что вам нужно сделать, это переместить каждую строку в некоторый массив и затем сериализовать весь массив в JSON.

Например. используйте что-то вроде этого в цикле:

$array[] = $row;

и затем сериализовать все это вне цикла:

echo json_encode($array);
1 голос
/ 09 марта 2011

Я думаю, это должно быть

<?php
$rows=array();
mysql_select_db('news') or die(mysql_error());
//echo "Connected to Database";<?php 

$result = mysql_query("SELECT * FROM photos") 
or die(mysql_error());  

// keeps getting the next row until there are no more to get
while($row = mysql_fetch_assoc( $result )) {    
    $rows[]=$row;
} 
echo json_encode($rows);
?>

$(document).ready(function() {                      
$.getJSON('photo_get.php', function(data){
$.each(data, function(key, val) {
alert("Data" + val.name);
});
});
});

как массив

0 голосов
/ 09 марта 2011

Вы можете отправить свой ответ в массив:

ArrayData = [];

ArrayData = data;

и затем зациклите его:

for (var i; i < ArrayData.length; i++) {
   alert(ArrayData[i]['name'])
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...