Модератор: Модераторы разделов
-
IMB
- Сообщения: 2567
- ОС: Debian
Сообщение
IMB »
Доброго дня!
Серверная часть, php 5.2.6, возвращает результат в формате JSON использую фукцию json_encode().
Клиентский код:
Код: Выделить всё
$(function() {
$.ajax({
url: 'db.php',
type: 'GET',
dataType: 'json',
data: 'get=project&dep=' + $.cookie('otdel'),
complete: function(data) {
alert(data[0]) //выдаёт undefined
alert(data[0].id) //ничего не выдаёт
}
});
});
Возвращаемый сервером результат:
Код: Выделить всё
[{"id":4,"name":"pr1","head":"project","task_ready":0,"task_total":10,"start_date":"01\/01\/2010","end_date":"31\/12\/2010"},
{"id":2,"name":"pr2","head":"project","task_ready":0,"task_total":2,"start_date":"01\/07\/2010","end_date":"31\/08\/2010"},
{"id":3,"name":"pr3","head":"project","task_ready":0,"task_total":0,"start_date":"01\/06\/2010","end_date":"31\/08\/2010"}]
В чём ошибка?
Спасибо.
-
nickm
- Сообщения: 203
- ОС: RFRemix
Сообщение
nickm »
В firebug:
Код: Выделить всё
>>>> s = [{"id":4,"name":"pr1","head":"project","task_ready":0,"task_total":10,"start_date":"01\/01\/2010","end_date":"31\/12\/2010"},
{"id":2,"name":"pr2","head":"project","task_ready":0,"task_total":2,"start_date":"01\/07\/2010","end_date":"31\/08\/2010"},
{"id":3,"name":"pr3","head":"project","task_ready":0,"task_total":0,"start_date":"01\/06\/2010","end_date":"31\/08\/2010"}];
>>>> console.info(s[0]["id"]);
4
что выдаёт?
Код: Выделить всё
complete: function(data) {
alert(data); //что выдаёт
// лучше использовать для отладки в firefox console.info(data);
}
-
IMB
- Сообщения: 2567
- ОС: Debian
Сообщение
IMB »
Спасибо, то что ответ сервера имеет корректный формат я знаю, проверил здесь
http://json.parser.online.fr/
Похоже, что я разобрался в проблеме.
Код: Выделить всё
$(function() {
$.ajax({
url: 'db.php',
type: 'GET',
dataType: 'json',
data: 'get=project&dep=' + $.cookie('otdel'),
complete: function(data, status) {
alert(data.responseText) //выдаёт весь ответ
var d = jQuery.parseJSON(data.responseText);
alert(d[0].name) //выдаёт корректные данные
}
});
});