![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Muchenik |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 27.10.2005 Репутация: нет Всего: 5 |
Доброго времени суток. Прошу подсказки.
Проблема с получением размера объекта, который получается через Ajax. есть код
Скрипт получает массив в json вида {"data":{"236":"1109"},"uid":"972"} Проблема заключается в том, что не определяется размер массива ret.data (размер ret также не определяется) и код
выводит undefined , хотя код ниже
отрабатывает правильно и выводит все элементы. В заголовки отправляется Content-Type: text/html; charset=utf-8 при выводе alert(ret.data) выводит [object Object] Спасибо. |
||||||
|
|||||||
IDVsbruck |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 4 Всего: 22 |
Непонятно что ты не понял и что у тебя не получается.
В запросе ты задал dataType="json", это значит, что на выходе ты получишь объект. Какой может быть размер у объекта??? Если надо сначала получить размер получаемой строки, то задавай тип как текст, замеряй размер, а потом eval("(" + ... + ")"). Но нужно ли оно? Или внеси изменение в библиотеку jQuery, чтобы до конвертации ответа в объект заносило ее размер в поле. |
|||
|
||||
Muchenik |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 27.10.2005 Репутация: нет Всего: 5 |
На входе я раскладываю массив в json.
"Какой может быть размер у объекта???" - jquery умеет получать размер объекта
или даже с json вот так все работает
Т.е. мне нужно получить размер моего исходного массива. IDVsbruck, тебе понятно??? |
||||
|
|||||
IDVsbruck |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 4 Всего: 22 |
Конечно!
![]() Если же хочется воспользоваться jQuery, то и тут "засада": и size(), и length определяют размер у jQuery-объектов, к коим простой Object не относится. Так что совет - если ты все-таки отсылаешь с сервера массив, то делать это надо корректно, если все-таки объект с набором полей, то таки прийдется использовать цикл для обхода всех полей для получения их количества. |
|||
|
||||
12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 3 Всего: 101 |
IDVsbruck, он хеш массивом называет, ему надо получить длину сериализованного хеша: ).
Muchenik, смотрите в jQuery:
, измерить длину, а потом выполнить указанную строчку, чтобы получить json. -------------------- Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go |
|||
|
||||
IDVsbruck |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 4 Всего: 22 |
Ха, ты на ту же удочку попался ... это ему не надо. А сериализованный хеш или просто json-объект - как его не назови - это в любом случае не перечисляемый тип и одной функцией длину не получшь - надо пробегать по нему для поиска длины. |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |