MySql – 未在html中显示的JSON数据

我正在尝试从MySql创建一个下拉列表。

php成功从MySql中获取数据。 但我的问题是我的HTML页面的下拉列表中没有显示数据?

json_mysql_data2.php

header("Content-Type: application/json"); require_once("con.php"); $i=0; $jsonData = array(); foreach ($conn_db->query("SELECT customerID FROM customers WHERE furniture='33' ") as $result){ $i++; $jsonData["article".$i]=$result['customerID']; } echo json_encode($jsonData); 

myJS.js

 $(document).ready(function(){ var ddlist = document.getElementById("ddlist"); var hr = new XMLHttpRequest(); hr.open("GET", "json_mysql_data2.php", true); hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); hr.onreadystatechange = function() { if(hr.readyState == 4 && hr.status == 200) { var d = JSON.parse(hr.responseText); for(var o in d){ if(d[o].title){ ddlist.innerHTML += '<option value='+d[o].title+''; } } } } hr.send("null"); ddlist.innerHTML = "Loading Customer ID...."; }); 

HTML

    
Customer ID: SELECT STUDENT ID

你的innerHTML是错误的。 你在开头有一个额外的 ,你错过了的结束 。 您也没有选项中的任何文本,因此菜单项将全部为空白。

您还应该附加到而不是

 hr.onreadystatechange = function() { if(hr.readyState == 4 && hr.status == 200) { var d = JSON.parse(hr.responseText); var empList = document.getElementById("EmpList"); for(var o in d){ if(d[o].title){ empList.innerHTML += ''; } } } } 
 ddlist.innerHTML += ' 

应该

 ddlist.innerHTML += '';