Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 19 апр 2024, 10:09

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
СообщениеДобавлено: 24 сен 2013, 12:11 
Не в сети
Бывалый

Зарегистрирован: 30 июл 2013, 15:31
Сообщения: 47
Всем привет,
Надо отправить post-запрос средствами ajax. Делаю в смарти-темплейте :

Код:
           var HRef = "{$base_url}main/send_contact_us"
         alert( "HRef::" + HRef)
           var DataArray = { // 'csrf_test_name': $.cookie('csrf_cookie_name')
               "name": encodeURIComponent(contact_us_name),
               "email": encodeURIComponent(contact_us_email),
               "message": encodeURIComponent(contact_us_message),
               "capture": encodeURIComponent(contact_us_capture),
               'csrf': '{$security_token}'  //  $security_token - это Security::token()

           };
alert( "++DataArray::"+var_dump(DataArray) )
           jQuery.ajax({
               url: HRef,
               type: "POST",
               data: DataArray,
               success: onSentContactUs,
               dataType: "json"
           });

       }
       function onSentContactUs(data) {
         alert( "data::" + var_dump(data) )
           if (data.ErrorCode != 0) {
               alert(data.ErrorMessage)
               $('#' + data.ErrorFieldName).focus();
               return
           }
           $("#contact_us_name").val("")
           $("#contact_us_email").val("")
           $("#contact_us_message").val("")
           $("#contact_us_capture").val("")
           ShowCaptureImage();
           alert("Your message was sent !")
       }


И в контроле :


Код:
      if ($send_contact_us_word != $capture or $blog_capture_expired_time < time()) {
         Appfuncs::instance()->DebToFile(  'Wrong capture::' , false );
         header("Content-Type: application/json");
         echo json_encode( array(   'ErrorMessage' => 'Invalid Capture', 'ErrorCode' => 1, 'ErrorFieldName' => 'contact_us_capture'   ) );
         return;
      }
Контрол нормально вызывается и строка
Код:
Appfuncs::instance()->DebToFile(  'Wrong capture::' , false );

выводит строку в отладочный текстовый файл но не вызывается функция возврата onSentContactUs
В чем может быть проблема или как еще можно отлаживать ?

access.log:
Код:
127.0.0.1 - - [24/Sep/2013:10:01:51 +0300] "POST /main/send_contact_us HTTP/1.1" 200 7411 "http://local-kohana.com/contact_us" "Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20110328 Firefox/17.0"


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 янв 2014, 20:37 
Не в сети
Бывалый

Зарегистрирован: 06 авг 2012, 22:39
Сообщения: 91
для правильного выплевывния жсона из контроллера использую такой сниппет

Код:
$this->response->headers('Content-Type','application/json');
$this->response->send_headers();
echo $this->response->body($json);
die;


ну и предварительно по необходимости

Код:
if (!$this->request->is_ajax()) {
       throw new Kohana_HTTP_Exception_404('Denied.');
}
$this->auto_render = false;


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 янв 2014, 20:39 
Не в сети
Бывалый

Зарегистрирован: 06 авг 2012, 22:39
Сообщения: 91
ну и в жсе косяк, пиши
Код:
success: onSentContactUs(data),


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 янв 2014, 20:39 
Не в сети
Бывалый

Зарегистрирован: 06 авг 2012, 22:39
Сообщения: 91
блин, теме полгода, тока сейчас заметил)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 фев 2014, 11:02 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
:)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group