我必须从MySQL检索许多行并通过ajax编码发送,我完成了这个。但问题是我无法处理ajax中的输出数组数据。有人可以帮我吗?
1> one.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");
}
});
答案 0 :(得分:1)
如果那是一个数组,那么你必须使用jQuery的.each()
方法:
$.each(data, function(i, resp){
console.log(resp);
});
答案 1 :(得分:0)
您将获得带有ajax响应的jquery对象。因此,您可以使用以下任何功能处理它: http://api.jquery.com/each/ http://api.jquery.com/jQuery.each/
答案 2 :(得分:0)
如果您使用过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);
})