AJAX SQL JSON Not Working


AJAX SQL JSON Not Working

我的AJAX似乎不工作。它应该将患者的详细信息加载到下拉菜单中。

这是我的ajax代码:
function PopulatePatient()
{
        $("#PatientDropDown").empty();
        $("#PatientDropDown").append("<option>Loading.....</option>");
        $.ajax({
                type:"POST",
                url:"../listener/populatePatientName.php",
                contentType:"application/json; charset=utf-8",
                dataType:"json",
                success: function(data){
                        $("#PatientDropDown").empty();
                        $("#PatientDropDown").append("<option value=''>-Select Patient-</option>");
                $.each(data,function(i,item)
                {
                    $("#PatientDropDown").append('<option value="'+ data[i].patientUserId +'">'+ data[i].patientFirstName +'</option>');
                });
        },
        complete: function()
        {
        }
        });
}

这是我的PHP代码(populatePatientName.php):

<?php
include '../core/init.php';
$sql = mysql_query("SELECT patientUserId,patientFirstName FROM patientdetails");
if(mysql_num_rows($sql))
{
  $data=array();
  while($row=mysql_fetch_array($sql))
  {
$data[]=array
(
  'patientUserId' => $row['patientUserId']
  'patientFirstName' => $row['patientFirstName']
);
}
  header('Content-type: application/json');
  echo json_encode($data);
}
 ?>
这是我的HTML代码:
<select class="form-control" id="PatientDropDown">
</select>

这个代码在我朋友的电脑上工作。我的数据库和查询运行良好。表中包含的数据。

我的代码停在这里:$ (" # PatientDropDown ") .append("加载 .....");

不输入ajax。有解决方案吗?

尝试$.each()函数在ajax成功前的这一行

data= JSON.parse(data);

在ajax类型中使用"GET"代替"POST"

您的脚本绝对没问题,但是您没有任何将触发PopulatePatient()函数的事件。运行函数获取数据。使用console.log(data)来检查你的php是否在发送数据

尝试使用web浏览器访问populatePatientName.php,它应该返回JSON数据

我找到了解决方案,我忘了逗号,

<?php
include '../core/init.php';
$sql = mysql_query("SELECT patientUserId,patientFirstName FROM patientdetails");
if(mysql_num_rows($sql))
{
  $data=array();
  while($row=mysql_fetch_array($sql))
  {
$data[]=array
(
  'patientUserId' => $row['patientUserId'],
  'patientFirstName' => $row['patientFirstName']
);
}
  header('Content-type: application/json');
  echo json_encode($data);
}

?>

$data[]=array
    (
      'patientUserId' => $row['patientUserId'],
      'patientFirstName' => $row['patientFirstName']
    );

两个问题:
-它是包含在头部标签像这样的jquery ?

<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>

-尝试使用一个按钮填充:

<input type="button" onClick="populatePatient()" />