我该如何访问此结果

时间:2014-12-15 02:35:33

标签: jquery json

我的服务器有这个结果,我想访问mem和pid的值

{"mem":"7","pid":"5"}{"mem":"9","pid":"7"}{"mem":"10","pid":"7"}{"mem":"8","pid":"5"}

我尝试从控制台回显值。但它没有显示。

 $.ajax({
                type:'post',
                dataType:'json',
                data:'mydata'
                url:'tomyurl',
                success:function(data){
                 console.log(data[0].mem);//did not show the value


                   });

修改

这是我的服务器端脚本

  public function display_children($parent,$level){
 try {
          $cmd = $this->connection->prepare('SELECT mem,pid from mytree where pid = ?');

          $cmd->execute(array($parent));


          $results = array(
              'mem' => array(),
              'pid' => array()

          );

          while ( $row =  $cmd->fetch(PDO::FETCH_ASSOC)) {


              $results['mem']=$row['mem'];
              $results['pid']=$row['pid'];

              echo json_encode(results);
              $this->display_children($row['mem'], $level + 1);

          }


      }
      catch(PDOException $ex){
          return $ex->getMessage();
      }

  }

我在这里查看了如何查询hierarchical-data-database

我在访问mem和pid的值时遇到了问题。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

编写的JSON无效。您可能希望确保服务器返回有效的数组,例如:

[{"mem":"7","pid":"5"},{"mem":"9","pid":"7"},{"mem":"10","pid":"7"},{"mem":"8","pid":"5"}]

如果是,您提供的代码应该有效。要获取数组中的所有mempid值,您可以执行以下操作:

for (var index = 0; index < data.length; index++) {
    var item = data[index];
    console.log("index=" + index + ", pid=" + item.pid + ", mem=" + item.mem);
}

http://jsfiddle.net/cn7mzxws/1/

由于您正在使用jQuery,您还可以使用$.each来完成同样的事情。

虽然如果您只关心第一项的mem值,那么data[0].mem是正确的,一旦您的数据被正确打包到JSON数组中。