簡體   English   中英

如何在CodeIgniter中關閉購物車

[英]How to ajaxify a shopping cart in CodeIgniter

我在Ajaxizing CodeIgniter內置的購物車時遇到問題。 當用戶單擊下拉菜單上的項目按鈕時,該項目將通過Ajax回調函數添加到名為#cart的div中。 但是,我的問題是,在購物車div中通過Ajax生成的內容不是永久的(因為這是在客戶端完成的)。 有沒有辦法在仍然使用Ajax時使購物車HTML輸出永久化?

盡管我的Ajax調用正在從控制器輸出內容,但我簽出了視圖源,實際上上面沒有html元素,這是我的Ajax調用:

$(document).ready(function() {
    $('.add').click(function(){
        var button =$(this).val();
        var button = button.split(',');
        var url=<?php echo '"' . base_url() . 'index.php/order_form/add/"' ?>+button[0]+'/'+button[1];
        var quantity=$('#quantity-'+button[0]).val();

        $.ajax({
            url: url,
            data:'quantity='+quantity,
            dataType: 'html',
            success: function(output_string){
                $('#cart').empty().append(output_string);
            }
        });
    });
});

您有兩種可能性:

  • 將來自Ajax的響應存儲在CodeIgniter會話中。 這意味着您將可以刷新驗證會話並重新填充購物車。
  • 將來自Ajax的響應存儲在臨時數據庫表中,然后再次刷新數據庫中的購物車。

一般事實:通過查看源代碼,您將永遠看不到Ajax的響應。 您必須與瀏覽器檢查器一起查看響應(例如,在Google Chrome瀏覽器的“網絡”標簽中的XHR響應)。 在那里,您將看到通過Ajax為您輸出的URL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM