0

CodeIgniterで構築されたショッピング カートのAjax 化に問題があります。ユーザーが項目のドロップダウン メニューの追加ボタンをクリックすると、項目は 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);
            }
        });
    });
});
4

1 に答える 1

1

次の 2 つの可能性があります。

  • Ajax からの応答を CodeIgniter セッションに保存します。これは、更新時にセッションを確認してカートを再設定できることを意味します。
  • Ajax からの応答を一時データベース テーブルに保存し、更新時にデータベースからカートを再読み込みします。

一般的な事実: ソース コードを見ても、Ajax の応答を確認することはできません。ブラウザ インスペクタで応答を確認する必要があります (たとえば、 Google Chromeのネットワーク タブのXHR応答)。そこには、Ajax によって出力された URL が表示されます。

于 2012-09-03T22:47:52.633 に答える