Как отобразить индивидуальную стоимость корзины? - PullRequest
0 голосов
/ 31 декабря 2018

Я использую корзину 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]).

, как правильно отобразить?Я ссылаюсь на эту ссылку для корзины https://www.webslesson.info/2017/03/ajax-jquery-codeigniter-shopping-cart.html

Не могли бы вы помочь мне в этом вопросе?

Ответы [ 4 ]

0 голосов
/ 02 января 2019

Наконец-то я нашел свой ответ.Я попробовал приведенный ниже код, и он работает для меня.

Контроллер

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

 success:function(data)
    {
        var obj = JSON.parse(data);
       alert(obj.qty);
       alert(obj.subtotal);
    }
0 голосов
/ 31 декабря 2018
success: function(data){
    var obj = JSON.parse(data); // add this part 
    alert(obj.qty);
}
0 голосов
/ 31 декабря 2018

это будет немного сложнее

Ваш dataType: "json" сообщает jQuery, что вы хотите, чтобы он анализировал возвращенный JSON, это не значит, что jQuery автоматически преобразует данные вашего запроса.

используйте

dataType: "json" 

и обновите вашу view() функцию, например, сохраните весь вид в одном массиве, например

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

, и отправьте в ответ кодировку с помощью json_encode() И получите значения с помощью response.name

0 голосов
/ 31 декабря 2018

Просто добавьте класс на количество td

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

Тогда вы можете получить значение с помощью jquery

$('.quantity').innerHTML();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...