Jquery&;CI未定义数据-来自$.ajax的响应

Jquery&;CI未定义数据-来自$.ajax的响应,jquery,ajax,codeigniter,cart,shopping,Jquery,Ajax,Codeigniter,Cart,Shopping,我正在尝试做的是:我正在尝试做一个购物车,它不会在每次单击某个项目时重新加载页面,而是在会话中保存选定的项目 因此,在用户单击“添加”后,我将把值添加到会话中,然后在json数组中解析会话值,并将整个“产品列表”附加到购物车中 问题是,出于某种原因,它正在打印data.dados[0].id\u prod的“未定义”,而它应该打印产品的id 这是我的控制器: //get the ajax ‘get’ ... if (isset($_GET[‘id_prod’]) && !empt

我正在尝试做的是:我正在尝试做一个购物车,它不会在每次单击某个项目时重新加载页面,而是在会话中保存选定的项目

因此,在用户单击“添加”后,我将把值添加到会话中,然后在json数组中解析会话值,并将整个“产品列表”附加到购物车中

问题是,出于某种原因,它正在打印data.dados[0].id\u prod的“未定义”,而它应该打印产品的id

这是我的控制器:

//get the ajax ‘get’ ...
if (isset($_GET[‘id_prod’]) && !empty($_GET[‘id_prod’]) && isset($_GET[‘qnt’]) && !empty($_GET[‘qnt’])) {

  $ma = $this->loja_model->add_carrinho($_GET[‘id_prod’], $_GET[‘qnt’]);
  $carr = $this->loja_model->list_carrinho();

  if ( isset($carr) && !empty($carr) ) {
    $array[‘data’][‘dados’]=$carr[0];
    $array[‘data’][‘valor’]=$carr[1];
echo json_encode($array);
  }

  }
并在调用$.ajax后打印此json对象:

{“data”:
  {“dados”:

  [
    {“id_prod”:“1”,“id_cat”:“4”,“produto”:“Barco Velho”,“descricao”:“Barco de madeira tipo canoa.”,“valor”:“100.00”,“custo”:“0”,“qnt”:49},
    {“id_prod”:“2”,“id_cat”:“1”,“produto”:“Fusca 68”,“descricao”:“Raridade. Impec?vel. Roda. Trio. Som. Estepe original.”,“valor”:“4000.00”,“custo”:“0”,“qnt”:11},
    {“id_prod”:“3”,“id_cat”:“2”,“produto”:“MonoMoto”,“descricao”:“Moto de uma roda s?”,“valor”:“18000.00”,“custo”:“0”,“qnt”:2}
  ],

  “valor”:84900}
}
这是我的JS文件:

       $.ajax({
  url:      ‘http://mdk-store.com/loja/index.php/lojavirtual/index’,
  data: data_prod,
  type:    ‘GET’,
  dataType:  ‘json’,
  async: true,
  success: function(data) {
    window.alert(data[0].id_prod);
  }


  });

根据JSON,您应该使用:
data.data.dados[0].id\u prod

为了以您期望的方式访问数据,JSON需要如下所示:

[
  {“id_prod”:“1”,“id_cat”:“4”,“produto”:“Barco Velho”,“descricao”:“Barco de madeira tipo canoa.”,“valor”:“100.00”,“custo”:“0”,“qnt”:49},
  {“id_prod”:“2”,“id_cat”:“1”,“produto”:“Fusca 68”,“descricao”:“Raridade. Impec?vel. Roda. Trio. Som. Estepe original.”,“valor”:“4000.00”,“custo”:“0”,“qnt”:11},
  {“id_prod”:“3”,“id_cat”:“2”,“produto”:“MonoMoto”,“descricao”:“Moto de uma roda s?”,“valor”:“18000.00”,“custo”:“0”,“qnt”:2}
]

哇!我不敢相信这是这么简单,谢谢你,这是非常有帮助的,这让我发疯了,我觉得我已经做错了别的事情。