繁体   English   中英

在JSON响应中变得未定义

[英]Getting undefined in JSON response

我正在使用CodeIgniter购物车。 我正在获取所有添加到购物车的信息,并在alert(data)中得到输出,但是我无法检查o.qty 我变得不确定。

$(document).ready(function() {
      $.ajax({
          url: "<?php echo base_url(); ?>Member_controller/primaryCartload",
          context: document.body,
          success: function(data) {
            //alert(data);

            if (data != 0) {
              console.log(data);
              alert(data);
              var obj = JSON.parse(data);
              $.each(obj, function(i, o) {
                  alert(o.qty);
                  if (o.qty != 0) {
                    $('#subtotal_details').html('Total cost:' + o.subtotal);
                    //alert('not empty');
                  });
              }
              else {
                //alert('empty')
                $('#totalDetails').html('0');
                $('#totalQty').html('Total items:0');
              }
            }
          });
      });

调节器

public function primaryCartload()
 {
  $output=[];
  $count = 0;

  foreach($this->cart->contents() as $items)
  {
   $count++;
   $output[] = array(
            'id' =>$items["id"],
            'qty' =>$items["qty"],
            'subtotal'=>$items["subtotal"],
            'removebtn'=>$items["rowid"],
            'cart_total'=>$this->cart->total()
            );
  }
  $outputStore['outputStore']=$output;
  if($count == 0)
  {
   $outputStore ['outputStore']= 0;
  }
 echo json_encode($outputStore);
 exit();
}

我正在警报中获取输出(数据)

{"outputStore":[{"id":"1","qty":1,"subtotal":5000,"removebtn":"c4ca4238a0b923820dcc509a6f75849b","cart_total":6000},{"id":"2","qty":1,"subtotal":1000,"removebtn":"c81e728d9d4c2f636f067f89cc14862c","cart_total":6000}]}

但是当我访问o.qty时,我变得undefined

您应该从数据对象中获取数组。

$(document).ready(function() {
      $.ajax({
          url: "<?php echo base_url(); ?>Member_controller/primaryCartload",
          context: document.body,
          success: function(data) {
            //alert(data);

            if (data != 0) {
              console.log(data);
              alert(data);
              var obj = JSON.parse(data);
              $.each(obj["outputStore"], function(i, o) {
                  alert(o.qty);
                  if (o.qty != 0) {
                    $('#subtotal_details').html('Total cost:' + o.subtotal);
                    //alert('not empty');
                  });
              }
              else {
                //alert('empty')
                $('#totalDetails').html('0');
                $('#totalQty').html('Total items:0');
              }
            }
          });
      });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM