![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| asagi |
|
|||
![]() Asagi Shinsou Профиль Группа: Участник Сообщений: 13 Регистрация: 8.7.2011 Репутация: нет Всего: нет |
Здравствуйте, форумчане!
Вот начал изучать недавно замечательный фреймворк EXTJS. Столкнулся с простецкой проблемой... Есть функция, из которой делается ajax запрос в скрипт. Мне нужно, что бы эта функция возвращала ответ, однако я столкнулся с некоторыми сложностями. Привожу код функции: Код:
Alert показывает undefined. Подскажите, где я мог ошибиться? Область видимости переменной или что?? |
|||
|
||||
| нуп |
|
|||
|
Ботокодер ![]() ![]() Профиль Группа: Участник Сообщений: 987 Регистрация: 22.6.2009 Где: Кременчуг Репутация: 8 Всего: 33 |
Скорей всего запрос асинхронный, для него надо alert писать в функции success
|
|||
|
||||
| asagi |
|
|||
![]() Asagi Shinsou Профиль Группа: Участник Сообщений: 13 Регистрация: 8.7.2011 Репутация: нет Всего: нет |
нуп, alert всего лишь как средство диагностики. Функция должна возвращать ответ от скрипта forms.php. Но в ответе пустота, хотя php скрипт отдает данные нормально
|
|||
|
||||
| нуп |
|
|||
|
Ботокодер ![]() ![]() Профиль Группа: Участник Сообщений: 987 Регистрация: 22.6.2009 Где: Кременчуг Репутация: 8 Всего: 33 |
Ваш ответ придет в функцию success! Перед ответом выполнится функция ex_ajax_form и вернет пустоту.
|
|||
|
||||
| asagi |
|
|||
![]() Asagi Shinsou Профиль Группа: Участник Сообщений: 13 Регистрация: 8.7.2011 Репутация: нет Всего: нет |
нуп,я чет под ночь торможу
А что нужно сделать, что бы функция не возвращала пустоту? Как мне из succes передать ответ в ex_ajax_form? Можете привести фрагмент кода? |
|||
|
||||
| нуп |
|
|||
|
Ботокодер ![]() ![]() Профиль Группа: Участник Сообщений: 987 Регистрация: 22.6.2009 Где: Кременчуг Репутация: 8 Всего: 33 |
Сделать запрос с ожиданием ответа. async: false . Если вам это подойдет.
|
|||
|
||||
| asagi |
|
|||
![]() Asagi Shinsou Профиль Группа: Участник Сообщений: 13 Регистрация: 8.7.2011 Репутация: нет Всего: нет |
нуп, спасибо, а для асинхронного запроса есть решение?
|
|||
|
||||
| нуп |
|
|||
|
Ботокодер ![]() ![]() Профиль Группа: Участник Сообщений: 987 Регистрация: 22.6.2009 Где: Кременчуг Репутация: 8 Всего: 33 |
Да, надо в success функцию(или вместо нее) передавать вашу функцию, которую надо будет вызвать
|
|||
|
||||
| asagi |
|
|||
![]() Asagi Shinsou Профиль Группа: Участник Сообщений: 13 Регистрация: 8.7.2011 Репутация: нет Всего: нет |
Нуп, спасибо! Ща будем пробовать....
|
|||
|
||||
| asagi |
|
|||
![]() Asagi Shinsou Профиль Группа: Участник Сообщений: 13 Регистрация: 8.7.2011 Репутация: нет Всего: нет |
Нуп, скопировал твой код к себе..не работает :( Firebug говорит, что callback_func, не есть функция :(
Добавлено через 4 минуты и 8 секунд Изменил тип запроса на синхронный, но все равно, проблема та же...%) |
|||
|
||||
| нуп |
|
|||
|
Ботокодер ![]() ![]() Профиль Группа: Участник Сообщений: 987 Регистрация: 22.6.2009 Где: Кременчуг Репутация: 8 Всего: 33 |
Переименуйте на function ex_ajax_form(form, callback) ну и вызов сам тоже
|
|||
|
||||
| asagi |
|
||||
![]() Asagi Shinsou Профиль Группа: Участник Сообщений: 13 Регистрация: 8.7.2011 Репутация: нет Всего: нет |
Нуп, все равно не работает...Но вот что я заметил. Если функция такая:
То alert показывает undefined, но при этом функция работает. Возвращает то, что ей выдает скрипт forms.php. А если код функции такой:
То функция перестает работать. Как это понимать? Почему с alert работает, а без уже нет?? |
||||
|
|||||
| нуп |
|
|||
|
Ботокодер ![]() ![]() Профиль Группа: Участник Сообщений: 987 Регистрация: 22.6.2009 Где: Кременчуг Репутация: 8 Всего: 33 |
Отдает ли сервер вообще что-то?
Добавлено через 17 секунд Что вы посылаете, и что приходит? |
|||
|
||||
| asagi |
|
||||
![]() Asagi Shinsou Профиль Группа: Участник Сообщений: 13 Регистрация: 8.7.2011 Репутация: нет Всего: нет |
нуп, сам php скрипт forms.php работает адекватно. В него передается:form=edit_profile_p1, а в ответ приходит форма редактирования профиля. Если делать вручную (тупо передать в forms эту переменную) все работает. Проблема именно в JS и я не пойму в чем именно. Вызов делаю так:
И собственно функция, в её изначальном варианте:
В итоге alert говорит undefined, а вот в окно загружается нужная форма. Но стоит убрать alert как ничего не грузится. |
||||
|
|||||
| нуп |
|
|||
|
Ботокодер ![]() ![]() Профиль Группа: Участник Сообщений: 987 Регистрация: 22.6.2009 Где: Кременчуг Репутация: 8 Всего: 33 |
Для вашего случая, надо ставить async : false.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Применение библиотек | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |