如何在jquery中从json数组读取数据


How to read data from json array in jquery?

我必须从MySQL中检索许多行并通过使用ajax编码发送,我做到了。 但问题是我无法处理 ajax 中的输出数组数据。 谁能帮我?

1>一.php

<?php   

  $host = "localhost";
  $user = "root";
  $pass = "";
  $databaseName = "elearning";
  $tableName = "users";

    $con = mysql_connect($host,$user,$pass);
    $dbs = mysql_select_db($databaseName, $con);
    if(isset($_POST)){
                $exam_id=$_POST['exam_id'];
                $sql="select * from exam_to_question where exam_id=$exam_id";
                $result = mysql_query($sql);
                $dataArray = array();
                while($array = mysql_fetch_assoc($result)){
                    $dataArray[] = $array;
                } 
                echo json_encode($dataArray);
    }
?>

2> ajax 代码是:

   $.ajax({    
      type: 'POST',
      url: '../functions/one.php',                          
      data: "exam_id="+exam_id,         
      dataType: 'json',
      success: function(data){

             //alert(data[0]['question_id']);
            // i have to handle data here 
            },
      error:function(){
    alert("AJAX failure");
        }   
    });

如果这是一个数组,那么你必须使用.each() jQuery的方法:

$.each(data, function(i, resp){
    console.log(resp);
});

你将得到带有 ajax 响应的 jquery 对象。因此,您可以使用以下任何函数处理它:http://api.jquery.com/each/http://api.jquery.com/jQuery.each/

如果你使用了dataType: json,那么你可以使用

//if it is not a multidimensional array then you can dirctly
 data.keyName 
//if it is multidimensional array 
$(data).each(function(index,element){
        console.log(element);
})