Yii Framework Forum: Вопрос По Ajax - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Вопрос По Ajax Rate Topic: -----

#1 User is offline   melomaniac 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 182
  • Joined: 14-January 13

Posted 25 July 2013 - 12:50 PM

Всем добрый вечер, домучал почти AjaxLink, но есть одна проблема, после отправки данных всплывает окно модальное. В этом собственно и проблема, если всплывает окно, данные не отправляются, если убрать окно, то все робит, но окно не выводится, замкнутый круг вообщем...

Вот собственно код ссылки:
<?php echo CHtml::ajaxLink(
			"<i class='icon-shopping-cart'></i>",
			Yii::app()->createUrl( '/product/addtocart' ),
			array( 'type' => 'POST', 'data' => array( 'order_code' => $latest['id'], 'product_name' => $latest['title'], 'quantity' => 1), 'update'=>'#cart', "complete"=>'$("#cart").dialog("open")', 'cache'=>'false'),
			array("data-toggle"=>'modal', 'href'=>'#cart', 'class' =>'btn btn-primary')
			);
			?>

Вот если так, то окно всплывает, но данные не отправляются.
А если убрать
"complete"=>'$("#cart").dialog("open")'

То данные отправляются, но окно не всплывает, точнее оно вообще не отображается... :(
0

#2 User is offline   Charger 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 317
  • Joined: 03-September 11

Posted 25 July 2013 - 01:29 PM

А откуда модальное окно берет данные? Если запрашивает их аяксом, то не включается ли в этот ответ и ненужные JS файлы (например jquery). Одним словом, что за ошибки пишутся в JS консоль браузера?
0

#3 User is offline   melomaniac 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 182
  • Joined: 14-January 13

Posted 25 July 2013 - 01:44 PM

View PostCharger, on 25 July 2013 - 01:29 PM, said:

А откуда модальное окно берет данные? Если запрашивает их аяксом, то не включается ли в этот ответ и ненужные JS файлы (например jquery). Одним словом, что за ошибки пишутся в JS консоль браузера?


Данных в окне вообще нет, просто разметка, вот такая вот:
<!--Cart-->
            <div id="cart" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
            <div class="modal-header">
               <button type="button" class="close" data-dismiss="modal" aria-hidden="true"><em class="icon-remove-circle"></em></button>
               <h3 id="myModalLabel">Корзина</h3>
              </div>
              <div class="modal-body form">
                 Корзина
             </div>
          </div>
         <!--#Cart-->

А не отправляются данные именно в экшн addtocart, а если окно убрать то все работает, если окно работает, вот эти данные
'data' => array( 'order_code' => $latest['id'], 'product_name' => $latest['title'], 'quantity' => 1)

Не передаются в контроллер :(
0

#4 User is offline   Charger 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 317
  • Joined: 03-September 11

Posted 25 July 2013 - 11:54 PM

Я вас про JS консоль спрашиваю, вы мне про разметку. Так дело не пойдет.

Quote

А не отправляются данные именно в экшн addtocart

Откуда вы знаете, что данные не отправляются, может они отправляются, но не приходят. Или приходят но не обрабатываются.
0

#5 User is offline   melomaniac 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 182
  • Joined: 14-January 13

Posted 26 July 2013 - 04:16 AM

View PostCharger, on 25 July 2013 - 11:54 PM, said:

Я вас про JS консоль спрашиваю, вы мне про разметку. Так дело не пойдет.

Откуда вы знаете, что данные не отправляются, может они отправляются, но не приходят. Или приходят но не обрабатываются.


Ну потому что они у меня в сессию пишутся, а там пусто, значит не отправляются :) В скриптах ошибок не выдает.
0

#6 User is offline   ineersa 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 319
  • Joined: 15-April 13
  • Location:Ukraine

Posted 26 July 2013 - 04:48 AM

В какую сессию? :blink:
Данные передаются в $_POST массиве в вашем случае. В мозилле есть такая вещь как firebug, и там есть замечательная консоль для просмотра передаваемых данных (единственное наверное что лучше чем у хрома :rolleyes: ).

Замените complete на success, уберите update.

array( 
'type' => 'POST', 
'data' => array( 'order_code' => $latest['id'], 'product_name' => $latest['title'], 'quantity' => 1), 
'success'=>'js:function(data){
$("#cart").empty();
$("#cart").append(data);
$("#cart").dialog("open")}', 
)


Данные могут не передаваться по причине 2ной загрузки jquery.
Yii::app()->clientScript->scriptMap['*.js'] = false;

Перед рендером выручает от конфликтов и т.п.
0

#7 User is offline   melomaniac 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 182
  • Joined: 14-January 13

Posted 26 July 2013 - 10:06 AM

View Postineersa, on 26 July 2013 - 04:48 AM, said:

В какую сессию? :blink:
Данные передаются в $_POST массиве в вашем случае. В мозилле есть такая вещь как firebug, и там есть замечательная консоль для просмотра передаваемых данных (единственное наверное что лучше чем у хрома :rolleyes: ).

Замените complete на success, уберите update.

array( 
'type' => 'POST', 
'data' => array( 'order_code' => $latest['id'], 'product_name' => $latest['title'], 'quantity' => 1), 
'success'=>'js:function(data){
$("#cart").empty();
$("#cart").append(data);
$("#cart").dialog("open")}', 
)


Данные могут не передаваться по причине 2ной загрузки jquery.
Yii::app()->clientScript->scriptMap['*.js'] = false;

Перед рендером выручает от конфликтов и т.п.


Спасибо, попробую. В сессию, которая в actionaddtocart у меня.
0

#8 User is offline   ineersa 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 319
  • Joined: 15-April 13
  • Location:Ukraine

Posted 26 July 2013 - 10:11 AM

Ну да все верно. Вы передаете аяксом данные, они уходят в $_POST и передаются в контроллер. А куда вы уже их пишете в контроллере - к делу совсем не относится.
0

#9 User is offline   melomaniac 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 182
  • Joined: 14-January 13

Posted 26 July 2013 - 10:27 AM

[18:26:41.913] TypeError: $("#cart").dialog is not a function @ http://localhost/:523

Вот что получил с вашим кодом в консоли :blink:
0

#10 User is offline   ineersa 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 319
  • Joined: 15-April 13
  • Location:Ukraine

Posted 26 July 2013 - 11:00 AM

View Postmelomaniac, on 26 July 2013 - 10:27 AM, said:

[18:26:41.913] TypeError: $("#cart").dialog is not a function @ http://localhost/:523

Вот что получил с вашим кодом в консоли :blink:

Проверьте загрузку jquery ui. Эта ошибка у вас связана либо с 2ной загрузкой оной, либо же ее отсутствием.
0

#11 User is offline   melomaniac 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 182
  • Joined: 14-January 13

Posted 26 July 2013 - 11:01 AM

View Postineersa, on 26 July 2013 - 11:00 AM, said:

Проверьте загрузку jquery ui. Эта ошибка у вас связана либо с 2ной загрузкой оной, либо же ее отсутствием.


Спасибо, с jquery разобрался, окно появляется, но данные не отправляются :blink:
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users