我正在开发一个函数,如果用户从下拉列表中选择一个值,那么这会调用一个AJAX函数,然后该函数会给我一个名称及其电子邮件地址列表
$.ajax({
type:'POST',
url:'get_distusers.php',
data:'dist_id='+dist_id+'&study_id='+study_id,
success: function(data){
$('#dist_list2').html(data);
$('#dist_list').val(data);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert("There was an error."+textStatus+" - " + XMLHttpRequest.status);
}
});
然后另一页有此发送回姓名和电子邮件列表
unset($contact);
if ($count_du>0) {
while($row_du = mysqli_fetch_array($result_du)) {
if(!empty($contacts))
$contacts.="<br>, ";
$contact['name']=$row_du[0];
$contact['email']=$row_du[1];
}
}
$contacts[]=$contact;
//$contacts=array($contact_email,$contact_name);
//echo $sql_patrand;
echo json_encode($contacts);
然而,当我尝试检索联系人列表时,我要么得到单词对象,要么没有。
有人能告诉我我做错了吗?
答案 0 :(得分:1)
你的php代码返回了echo json_encode($contacts);
json格式,但你的ajax不能理解json格式,因为你没有设置dataType: 'json'
param,请检查下面提到的代码,它会非常有帮助,回答中的任何查询评论......
$.ajax({
type:'POST',
url:'get_distusers.php',
data:'dist_id='+dist_id+'&study_id='+study_id,
dataType: 'json', //NOTE:Your missing point - update first
success: function(data){
console.log(data); //Print your data, so it will help you to how manage
$('#dist_list2').html(data);
$('#dist_list').val(data);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert("There was an error."+textStatus+" - " + XMLHttpRequest.status);
}
});