Ответ с сервера в Аяксе

Обсуждение документации. Переводы Cookbook и авторские рецепты.
Ответить
KEFIR4UK
Сообщения: 97
Зарегистрирован: 2014.12.13, 16:24

Ответ с сервера в Аяксе

Сообщение KEFIR4UK »

Добрый день. Реализовал регистрацию через аякс, и мне нужно когда пользователь успешно зарегистрировался закрыть диалоговое окно в котором была форма регистрации:

Код: Выделить всё

 
 if($user->save())
echo "goood";
 
соответственно в аяксе :

Код: Выделить всё

   'success' => 'js:function(data){       
                             console.log(data);
                             }', 
Пользователь успешно регистрируеться в бд то как ни стронном в консоли слово goood не выводиться.Так же в аяксе добавил

Код: Выделить всё

'error'  => 'js:function(data){       
                          console.log(data);
                             }'
 
Теперь при успешной регистраци в консоле выводится громадный обект тучей свойст
Object {readyState: 4, responseText: "", status: 200, statusText: "OK"}
.
ТАк вот вопрос почему не выводиться сообщение об успешной регистрации в консоле?
Аватара пользователя
zabachok
Сообщения: 522
Зарегистрирован: 2013.12.16, 14:38

Re: Ответ с сервера в Аяксе

Сообщение zabachok »

Я могу ошибаться...

Код: Выделить всё

'error'  => 'js:function(response, data){       
                          console.log(data);
                             }' 
http://api.jquery.com/jquery.ajax/
2b||!2b Just read the instructions
KEFIR4UK
Сообщения: 97
Зарегистрирован: 2014.12.13, 16:24

Re: Ответ с сервера в Аяксе

Сообщение KEFIR4UK »

Убрал

Код: Выделить всё

// 'dataType'=> 'json',
 // 'data'    =>"$('#register-form').serialize()",
 
Тепер вызываеться функция success но переменная data по прежнему пуста - точнее просто пустая строка выводиться без ковычек
mickgeek
Сообщения: 957
Зарегистрирован: 2014.05.31, 20:50
Откуда: Санкт-Петербург
Контактная информация:

Re: Ответ с сервера в Аяксе

Сообщение mickgeek »

Попробуйте return, а не echo.
KEFIR4UK
Сообщения: 97
Зарегистрирован: 2014.12.13, 16:24

Re: Ответ с сервера в Аяксе

Сообщение KEFIR4UK »

zabachok писал(а):Я могу ошибаться...

Код: Выделить всё

'error'  => 'js:function(response, data){       
                          console.log(data);
                             }' 
http://api.jquery.com/jquery.ajax/
Да нет
Type: Function( Anything data, String textStatus, jqXHR jqXHR )
Да я уже и return,exit echo json_encode писал , вссеравно не пашет. Полюбом где то накосячил ну ГДЕ?!!!
mickgeek
Сообщения: 957
Зарегистрирован: 2014.05.31, 20:50
Откуда: Санкт-Петербург
Контактная информация:

Re: Ответ с сервера в Аяксе

Сообщение mickgeek »

Если ответ должен быть в json, то заверните данные в CJSON::encode().
KEFIR4UK
Сообщения: 97
Зарегистрирован: 2014.12.13, 16:24

Re: Ответ с сервера в Аяксе

Сообщение KEFIR4UK »

mickgeek писал(а):Если ответ должен быть в json, то заверните данные в CJSON::encode().
Тоже не работает. ДА и еще ворос, поставил

Код: Выделить всё

<?php $this->widget('CCaptcha', array('clickableImage' => true,'showRefreshButton'=>false,'captchaAction'=>'/site/captcha')); ?>
Что бы при клике минялась каптча но этого не происходит=/ Форма с капчей в модальном окне - может через это?
KEFIR4UK
Сообщения: 97
Зарегистрирован: 2014.12.13, 16:24

Re: Ответ с сервера в Аяксе

Сообщение KEFIR4UK »

По поводу каптчи разобрался) просто айди нужно было сменить. Но вопрос об полунии ответа сервера актуален)
Ответить