yii2 shopping cart ajax

JohnK

I want to modify existing shopping cart in yii2, so it wouldn't reload the page, means make it work by ajax. Current cart looks like:

 <form method="post" id="form-prodtobuy-<?= $p->id ?>" action="<?= \Yii::$app->urlManager->createUrl(["site/cart"]) ?>">
 <input type="hidden" name="<?= Yii::$app->request->csrfParam; ?>" value="<?= Yii::$app->request->csrfToken; ?>" />
 <input type="hidden" name="task" value="update" />
 <input id="<?= $p->id ?>" class="form-control buy-input" name="product[<?= $p->id ?>]" value="<?= Purchase::getCartValue($p->id) ?>" data-id="<?= $p->id ?>" placeholder="0">
 <button class="btn btn-primary" type="submit">Buy <i class="glyphicon glyphicon-shopping-cart"></i></button>
 </form>

It works properly, but reloads the page.

var_dump($_SESSION); after that looks like:

 array(2) { ["__flash"]=> array(0) { } ["products"]=> array(3) { [2958]=> string(1) "2" [2959]=> string(1) "1" [2581]=> string(1) "1" } }

My obvious solution is to add e.preventDefault() on submit event as follows:

 $(document).on('submit', '[id^=form-prodtobuy-]', function(e) {
 e.preventDefault();
 var someVar = $('#someInput').val();
     $.ajax({
        type: "post",
        url: "<?php echo \Yii::$app->urlManager->createUrl(["site/cart"]) ?>",
        data: {???:someVar},
        .....................
     });
 });

What should be in ajax 'data'?
Where or how is it possible to get names of variables to set session properly?

Fabrizio Caldarelli

In ajax "data" put form seralization output.

Take care that I've used heredoc format, so last EOT_JS must not have spaces before it.

$urlForm = \Yii::$app->urlManager->createUrl(["site/cart"]);

$this->registerJs( <<< EOT_JS 

    $(document).on('submit', '[id^=form-prodtobuy-]', function(e) {
        e.preventDefault();

        var formData = $(this).serialize();

        $.ajax({
            type: "post",
            url: "{$url}",
            data: formData,
            function(data) {
                console.log('form submit output');
                console.log(data);
            }
        });
    });

EOT_JS
);

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

How to create a shopping cart model with item variations

分類Dev

how to create shopping cart popup window in codeigniter

分類Dev

magento shopping cart multiple rules on same product

分類Dev

PHP shopping cart multiple values in one id

分類Dev

Magento Shopping Cart Price Rule: SKU option is not visible in Actions -> Conditions

分類Dev

Ecommerce/Shopping Cart (and checkout process) : use Relational or NoSQL

分類Dev

Django Validation Error raised but not displayed for shopping cart app

分類Dev

Managing State - multiple React Router links (ecommerce shopping cart)

分類Dev

Which Event call on Clear Shopping Cart Button Magento

分類Dev

Magento shopping cart price rule buy $100 get free y

分類Dev

My sample shopping cart is not working as expected knockout js

分類Dev

how do i get purchased items to a gridview in a shopping cart?

分類Dev

Yii2で2回送信するAjaxフォーム

分類Dev

woocommerceのwidget_shopping_cart_contentにクラスを追加します

分類Dev

passport, mongo, express, shopping cart tutorial lags on click submit after a post request

分類Dev

How do I update my shopping cart with the product ID using an HTML form?

分類Dev

loopback 4 how to avoid creating more than 5 items in a shopping cart

分類Dev

How to show woocommerce shopping cart with php but customize it by adding an icon and changing the text

分類Dev

Clear Shopping Cart ButtonMagentoのどのイベントコール

分類Dev

Yii2 ajaxの不正なリクエスト(#400)

分類Dev

yii2でajaxフォームを送信する方法

分類Dev

How to set validation message for field having ajax validation in scenarios? - Yii2

分類Dev

yii2でajaxを介してkartikうなり声を表示

分類Dev

yii2のカスタムIDを使用したAjax検証

分類Dev

Yii2はAjaxとのリンクを送信します

分類Dev

Yii2のAJAXを使用したKartikMultidateDatePickerおよびbeforeShowDay

分類Dev

ぼかしAjax検証のYII2が機能しない

分類Dev

Yii2:AJAXまたはPjaxでの投稿に投票する

分類Dev

Yii2 の ajax で追加データを取得する

Related 関連記事

  1. 1

    How to create a shopping cart model with item variations

  2. 2

    how to create shopping cart popup window in codeigniter

  3. 3

    magento shopping cart multiple rules on same product

  4. 4

    PHP shopping cart multiple values in one id

  5. 5

    Magento Shopping Cart Price Rule: SKU option is not visible in Actions -> Conditions

  6. 6

    Ecommerce/Shopping Cart (and checkout process) : use Relational or NoSQL

  7. 7

    Django Validation Error raised but not displayed for shopping cart app

  8. 8

    Managing State - multiple React Router links (ecommerce shopping cart)

  9. 9

    Which Event call on Clear Shopping Cart Button Magento

  10. 10

    Magento shopping cart price rule buy $100 get free y

  11. 11

    My sample shopping cart is not working as expected knockout js

  12. 12

    how do i get purchased items to a gridview in a shopping cart?

  13. 13

    Yii2で2回送信するAjaxフォーム

  14. 14

    woocommerceのwidget_shopping_cart_contentにクラスを追加します

  15. 15

    passport, mongo, express, shopping cart tutorial lags on click submit after a post request

  16. 16

    How do I update my shopping cart with the product ID using an HTML form?

  17. 17

    loopback 4 how to avoid creating more than 5 items in a shopping cart

  18. 18

    How to show woocommerce shopping cart with php but customize it by adding an icon and changing the text

  19. 19

    Clear Shopping Cart ButtonMagentoのどのイベントコール

  20. 20

    Yii2 ajaxの不正なリクエスト(#400)

  21. 21

    yii2でajaxフォームを送信する方法

  22. 22

    How to set validation message for field having ajax validation in scenarios? - Yii2

  23. 23

    yii2でajaxを介してkartikうなり声を表示

  24. 24

    yii2のカスタムIDを使用したAjax検証

  25. 25

    Yii2はAjaxとのリンクを送信します

  26. 26

    Yii2のAJAXを使用したKartikMultidateDatePickerおよびbeforeShowDay

  27. 27

    ぼかしAjax検証のYII2が機能しない

  28. 28

    Yii2:AJAXまたはPjaxでの投稿に投票する

  29. 29

    Yii2 の ajax で追加データを取得する

ホットタグ

アーカイブ