如何显示个人购物车价值?
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);
}
我正在使用 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);
}