[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с JSON данными.
N0ob
Вообщем аякс запрос возвращает мне вот такие JSON данные:
{"success": true, "count":2, "users":[["av1.jpg", "diablo", "StarRreC"], ["av1.jpg", "diablo", "StarRreC"]]}

Но, срабатывает ошибка, то есть метод error в $.ajax();. Текст ошибки таков:
SyntaxError: Unexpected token [ 

Что в JSON данных не так? квадратная скобка? чем она мешает, ведь это массив?
DedMorozzz
Цитата
Что в JSON данных не так?

Ничего, данный JSON валидный

Если сомневаешься в валидности JSON-массива, проверяй тут http://jsonlint.com

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
kaww
N0ob
, смотри статус ответа, должен быть 200.
N0ob
DedMorozzz в том то и дело, что и не сомневался.
kaww статус = 200, текстовый статус = ОК smile.gif
N0ob
Все я разобрался в чем проблема. На стороне сервера была ошибка. Но у меня возникла еще одна, что бы тему не создавать расскажу про нее здесь.

Вот цикл:
for(i=0; parseInt(data.count)>=i;i++)
{
$('#likes').append("<a href=\"/"+users[i][0]+"\"><img style=\"width: 35px; height: 35px;\" src=\"/images/users_photos/"+users[i][1]+"\" title=\""+users[i][2]+"\"></a>");
}
//data.count = 2;
//users = [["av1.jpg", "diablo", "StarRreC"], ["av1.jpg", "diablo", "StarRreC"]];


Так вот фаербаг мне пишет:
Uncaught TypeError: Cannot read property '0' of undefined

Ну а строка с ошибкой это строка добавления данных в блок #likes(выше в цикле). Если я вызову вот так:
alert(users[0][0]);

То заработает, а так нет. Почему?
Игорь_Vasinsky
Цитата
console.log(users)

и посмотри структуру своего "массива"

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
N0ob
Игорь_Vasinsky спасибо, нашел этакую своя бяку. data.count = 2. А я в цикле поставил условие что если i меньше или равно data.count, то продолжать работу. А ведь массивы считаются не от 1, а от 0. В этом и была загвоздка. Спасибо smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.