Вообщем аякс запрос возвращает мне вот такие JSON данные:
{"success": true, "count":2, "users":[["av1.jpg", "diablo", "StarRreC"], ["av1.jpg", "diablo", "StarRreC"]]}
Но, срабатывает ошибка, то есть метод error в $.ajax();. Текст ошибки таков:
SyntaxError: Unexpected token [
Что в JSON данных не так? квадратная скобка? чем она мешает, ведь это массив?
DedMorozzz
24.04.2013 - 18:43
Цитата |
Что в JSON данных не так? |
Ничего, данный JSON валидный
Если сомневаешься в валидности JSON-массива, проверяй тут
http://jsonlint.com
_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
N0ob
, смотри статус ответа, должен быть 200.
DedMorozzz в том то и дело, что и не сомневался.
kaww статус = 200, текстовый статус = ОК
Все я разобрался в чем проблема. На стороне сервера была ошибка. Но у меня возникла еще одна, что бы тему не создавать расскажу про нее здесь.
Вот цикл:
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>");
}
Так вот фаербаг мне пишет:
Uncaught TypeError: Cannot read property '0' of undefined
Ну а строка с ошибкой это строка добавления данных в блок #likes(выше в цикле). Если я вызову вот так:
alert(users[0][0]);
То за
работает, а так нет. Почему?
Игорь_Vasinsky
25.04.2013 - 08:39
Цитата |
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
Игорь_Vasinsky спасибо, нашел этакую своя бяку. data.count = 2. А я в цикле поставил условие что если i меньше или равно data.count, то продолжать работу. А ведь массивы считаются не от 1, а от 0. В этом и была загвоздка. Спасибо