Разбор JSON с JQuery - PullRequest
       1

Разбор JSON с JQuery

1 голос
/ 16 января 2011
$(document).ready(function()
{

$.ajax({
method: "get",
url: 'ctr_seearmylist.php',
dataType: 'json',
data: 'get="squad"',
success: processSquads()
});

});

function processSquads(response)
{
alert(response);

}

Почему это не работает?Как я могу использовать результат Json, который я получаю?Результат Json выглядит следующим образом [[1,2]] [[1,2]]

Так выглядит вызываемая функция php: {...... $ temp [0]= $ идентификатор;$ temp [1] = $ squad_id;

$result[]=$temp;
}
$result=json_encode($result);
return $result;

Я посмотрел ответ, полученный в Firebug, и получил следующее: [["1", "12"], ["2", "3"], ["3", "7"]] , но я не могу написать это.Я хотел бы выписать только 1, 2, 3, но я даже не могу написать это как есть.

Я должен упомянуть, что я попытался разобрать его, используя jQuery.parseJSON, но в процессе функцииотряд даже не получает параметр.что я делаю не так?

Ответы [ 3 ]

2 голосов
/ 16 января 2011

Оставьте путь в скобках из определения обратного вызова:

$.ajax({
    method: "get",
    url: 'ctr_seearmylist.php',
    dataType: 'json',
    data: 'get="squad"',
    success: processSquads
});

Если вы хотите контролировать, что именно передается в ваш метод обратного вызова, вы можете заключить определение в анонимную функцию - например:

$.ajax({
    method: "get",
    url: 'ctr_seearmylist.php',
    dataType: 'json',
    data: 'get="squad"',
    success: function(data, textStatus, XMLHttpRequest) {
         processSquads(data, XMLHttpRequest);
    }
});
0 голосов
/ 16 января 2011

Документация jQuery гласит:

success(data, textStatus, XMLHttpRequest)

Функция, вызываемая в случае успешного выполнения запроса.Функция получает три аргумента: данные, возвращаемые с сервера, отформатированные в соответствии с параметром dataType;строка, описывающая статус;и объект XMLHttpRequest (доступен с версии jQuery 1.4).Это Ajax Event.

Итак, вы должны убедиться, что аргументы верны.

0 голосов
/ 16 января 2011
success: processSquads()

Эта строка на самом деле вызывает 'processSquads', я думаю, вы хотите, чтобы jQuery вызывал ее, когда это будет сделано ...

success: processSquads

HTH.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...