Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Kohana + Ajax ни ответа, ни привета...
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Kohana + Ajax ни ответа, ни привета...

Страниц (1): [1]
 

1. ADIOS - 13 Июля, 2013 - 09:26:43 - перейти к сообщению
Всем привет..

Не могу получит ответ на ajax запрос..

ajax запрос:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(document).ready(function(){  
  3.         function slideout(){
  4.                 setTimeout(function(){
  5.                         $("#response").slideUp("slow", function () {
  6.         });
  7.    
  8.         }, 5000);}
  9.        
  10.     $("#response").hide();
  11.         // page
  12.         $(function() {
  13.         $("#listPage ul").sortable({ opacity: 0.8, cursor: 'move', update: function() {
  14.                        
  15.                 var order = $(this).sortable("serialize") + '&updatePage=updatePage';
  16.                                
  17.                 $.ajax({
  18.                         type: "POST",
  19.                         dataType: "json",
  20.                         url: "/admin/listorder",
  21.                         data: order,
  22.                         success: function(response) {
  23.                             if (response.code == 'success')
  24.                             {
  25.                                 $("#response").slideDown('slow');
  26.                             }
  27.                             slideout();
  28.                         }
  29.                 });                                                                                                                      
  30.                 }                                                                
  31.                 });
  32.         });
  33. });
  34.  


кусок с контроллера

PHP:
скопировать код в буфер обмена
  1.  
  2. public function action_listorder()
  3.     {
  4.        if (Request::initial()->is_ajax())
  5.        {
  6.             $result = array('code'=>'success');
  7.  
  8.             // ... что там делаем
  9.  
  10.             echo json_encode($result);
  11.       }    
  12.     }
  13.  


Хелп ми товарищи...
2. T1grOK - 13 Июля, 2013 - 09:43:34 - перейти к сообщению
/admin/listorder - роут такой хоть есть?
Что в консоли браузера видно? Не выводится ли, что то еще лишнее?
3. armancho7777777 - 13 Июля, 2013 - 09:46:29 - перейти к сообщению
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var order = $(this).sortable("serialize");
  3.  
  4. $.ajax({
  5.           type: "POST",
  6.           dataType: "json",
  7.           url: "/admin/listorder?updatePage=updatePage",
  8.           data: order,
  9.           success: function(response) {
  10.  
  11.                   if (response.code == 'success')
  12.                   {
  13.                           $("#response").slideDown('slow');
  14.                   }
  15.                   slideout();
  16.           }
  17. });  
  18.  


?
4. ADIOS - 13 Июля, 2013 - 10:30:22 - перейти к сообщению
T1grOK пишет:
/admin/listorder - роут такой хоть есть?
Что в консоли браузера видно? Не выводится ли, что то еще лишнее?


PHP:
скопировать код в буфер обмена
  1. Route::set('admin', 'admin(/<action>(/<id>))', array('action' => 'listorder','id' => '.*'))
  2.             ->defaults(array(
  3.             'directory'  => 'admin',
  4.             'controller' => 'static',
  5.             'action'     => 'index',
  6.           ));
  7.  

armancho7777777 пишет:
?


Все равно ответа нет...
5. armancho7777777 - 13 Июля, 2013 - 11:59:32 - перейти к сообщению
Вы напрямую, для начала, обратитесь по этому адресу с параметрами для контролёра.
Посмотрите что выводит.
AJAX - это тот же HTTP запрос, только асинхронный ("фоновый").
6. ADIOS - 13 Июля, 2013 - 13:56:26 - перейти к сообщению
armancho7777777 пишет:
напрямую, для начала, обратитесь по этому адресу с параметрами для контролёра.
Посмотрите что выводит.


ErrorException [ 8 ]: Array to string conversion ~ SYSPATH\classes\Kohana\Log\Writer.php [ 81 ]

Контроллер нашел метод иначе бы выдал 404 ошибку
7. armancho7777777 - 13 Июля, 2013 - 14:07:57 - перейти к сообщению
Ну вот ajax запрос Вам это и возвращает:
ADIOS пишет:
ErrorException [ 8 ]: Array to string conversion ~ SYSPATH\classes\Kohana\Log\Writer.php [ 81 ]

(Добавление)
Укажите content-type ответа "html"

и убедитесь сами:
CODE (javascript):
скопировать код в буфер обмена
  1. alert(response);
8. Lektor - 13 Июля, 2013 - 15:05:50 - перейти к сообщению
DataType уберите, а success для дебага сделайте такой:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. success: function(html)
  3. {
  4. alert(html);
  5. }
  6.  

 

Powered by ExBB FM 1.0 RC1