使用AJAX从php接收数据
我正在开发一个函数,如果用户从下拉列表中选择一个值,那么这将调用一个AJAX函数,它将为我提供一个名称及其电子邮件地址的列表使用AJAX从php接收数据,php,jquery,ajax,Php,Jquery,Ajax,我正在开发一个函数,如果用户从下拉列表中选择一个值,那么这将调用一个AJAX函数,它将为我提供一个名称及其电子邮件地址的列表 $.ajax({ type:'POST', url:'get_distusers.php', data:'dist_id='+dist_id+'&study_id='+study_id, success: function(data){
$.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);
unset($contact);
如果($count\u du>0){
while($row\u du=mysqli\u fetch\u数组($result\u du)){
如果(!空($contacts))
$contacts.=“
,”;
$contact['name']=$row_du[0];
$contact['email']=$row_du[1];
}
}
$contacts[]=$contact;
//$contacts=数组($contact\u email,$contact\u name);
//echo$sql_patrand;
echo json_编码($contacts);
然而,当我试图检索联系人列表时,我要么得到单词object,要么什么都没有
有人能告诉我我做错了什么吗?你有return
echo-json\u-encode($contacts)您的php代码中的代码>json格式,但是您的ajax不理解json格式,因为您没有设置数据类型:'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);
}
});
数据
是一个JSON对象,而不是HTML。您不能像这样直接将其输出到页面,您需要从对象中提取所需的数据并将该数据放入页面元素中//解析JSON-我收到一条错误消息“SyntaxError:JSON解析错误:意外标识符“object”,但日志显示输出看起来像[{name:[“Jon Doe”],电子邮件:[”jonedoe@email.com“]}]听起来像是数据
是一个对象,而不是字符串。在这种情况下,您不必解析它,它已经是您需要的格式了。