如何显示个人购物车价值?

How to display the cart value individual?

我正在使用 CodeIgniter 购物车。我正在使用 ajax 获取产品数据。 现在我 ajax 成功了 正在获取数据

    public function viewPrimaryCart()
     {

      $output = '';
      $count = 0;
      foreach($this->cart->contents() as $items)
      {
       $count++;
       $output .= '
   <tr> 
    <td>'.$items["name"].'</td>
    <td>'.$items["qty"].'</td>
    <td>'.$items["price"].'</td>
    <td>'.$items["subtotal"].'</td>
    </tr>
   ';
      }
      if($count == 0)
      {
       $output = '<p>Nothing selected yet</p>';
      }
      return $output;

    }

Ajax

$.ajax({
    url:"<?php echo base_url(); ?>Member_controller/primaryMemberCart",
    method:"POST",
    data:{product_id:product_id, product_name:product_name, product_price:product_price,quantity:quantity},
    success:function(data)
    {
      alert(data);
     //alert("Product Added into Cart");
     $('#primarycart_details').html(data);
    }
   });

我想知道如何单独显示购物车数据?我的意思是我必须获取数量并传递给我的 jquery.

我试过了

alert(data.qty),alert(data['qty']),alert(data[0]).

正确的显示方式是什么? 我将此 link 用于购物车 https://www.webslesson.info/2017/03/ajax-jquery-codeigniter-shopping-cart.html

你能帮我解决这个问题吗?

只需在td数量上加一个class即可

$output .= '
       <tr> 
        <td>'.$items["name"].'</td>
        <td class="quantity">'.$items["qty"].'</td>
        <td>'.$items["price"].'</td>
        <td>'.$items["subtotal"].'</td>
       </tr>
       ';

然后你可以用jquery

得到值
$('.quantity').innerHTML();
success: function(data){
    var obj = JSON.parse(data); // add this part 
    alert(obj.qty);
}

会有点复杂

你的dataType:"json"告诉jQuery你想让它解析返回的JSON,并不意味着jQuery会自动将你的请求数据字符串化。

使用

dataType: "json" 

并更新您的 view() 函数,例如将整个视图存储在一个数组中,例如

$array  = ('view'=>'your_html_view_code','name'=>$items['name'],'name'=>$qty['qty'])

并通过 json_encode() 编码发送到响应 并通过 response.name

获取值

终于,我找到了答案。我试过下面的代码,它对我有用。

控制器

public function viewPrimaryCart()
 {
  $output = '';
  $count = 0;
  foreach($this->cart->contents() as $items)
  {
   $count++;
   $output = array('qty' =>$items["qty"],'subtotal'=>$items["subtotal"] );
  }
  if($count == 0)
  {
   $output = '<p>Nothing selected yet</p>';
  }

 echo json_encode($output);
 exit();
}

Ajax成功

 success:function(data)
    {
        var obj = JSON.parse(data);
       alert(obj.qty);
       alert(obj.subtotal);
    }