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

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

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

Сообщение KEFIR4UK » 2015.07.10, 14:29

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

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

 
 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
Сообщения: 510
Зарегистрирован: 2013.12.16, 14:38

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

Сообщение zabachok » 2015.07.10, 15:58

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

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

'error'  => 'js:function(response, data){       
                          console.log(data);
                             }' 
http://api.jquery.com/jquery.ajax/
2b||!2b Just read the instructions

KEFIR4UK
Сообщения: 76
Зарегистрирован: 2014.12.13, 16:24

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

Сообщение KEFIR4UK » 2015.07.10, 16:05

Убрал

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

// 'dataType'=> 'json',
 // 'data'    =>"$('#register-form').serialize()",
 
Тепер вызываеться функция success но переменная data по прежнему пуста - точнее просто пустая строка выводиться без ковычек

mickgeek
Сообщения: 956
Зарегистрирован: 2014.05.31, 20:50
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение mickgeek » 2015.07.10, 16:06

Попробуйте return, а не echo.

KEFIR4UK
Сообщения: 76
Зарегистрирован: 2014.12.13, 16:24

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

Сообщение KEFIR4UK » 2015.07.10, 16:08

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
Сообщения: 956
Зарегистрирован: 2014.05.31, 20:50
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение mickgeek » 2015.07.10, 16:16

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

KEFIR4UK
Сообщения: 76
Зарегистрирован: 2014.12.13, 16:24

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

Сообщение KEFIR4UK » 2015.07.10, 17:05

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

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

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

KEFIR4UK
Сообщения: 76
Зарегистрирован: 2014.12.13, 16:24

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

Сообщение KEFIR4UK » 2015.07.10, 18:07

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

Ответить