這是我第一次使用AJAX和PHP。我寫了一個簡單的登錄頁面(如下)。正如你所看到的,阿賈克斯將用戶名發送到getLocations.php上的模糊,這是我與編碼本網站和YouTube的幫助(我要離開了DB連接位,但它的存在):帶有Ajax和Jquery的PHP數組 - 如何從數據創建下拉列表?
<!doctype html>
<html>
<head><title>Fetch JSON array Data</title>
<script src="http://10.28.1.90/DC_CRM_HOME2_USER_RIGHTS/js/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#username").blur(function() {
var sendu = $("#username").val();
$.ajax({
type: "POST",
url: "getLocations.php",
data: "username="+sendu,
success: function(response){
$("#result").html(locations+string+jqXHR);
//populate select with response...but how?
var locations = response.name;
for (var i in locations)
{
var vertical = locations[0];
$('select').append("<option value=\""+vertical+"\">"+vertical+"</option>");
}
}
});
});
});
</script>
</head>
<body>
<form method="post" action="#" onsubmit="return false;">
<input type="username" id="username" name="username" placeholder="username" value="" /><br><p>
<input type="password" id="password" name="password" /><br><p>
<select name="foo" id="foo">
<option></option>
</select><br><p>
<input type="submit" id="button" value="Login" />
</form>
</body>
</html>
getLocations.php:
$name = $_REQUEST['username']; //from ajax request
$query = "select LOCATION ";
$query .= "FROM dc_MASTER.DC_CNSLR_ACCESS dca ";
$query .= "JOIN dc.MEMBERS m ON dca.id = m.id ";
$query .= "AND m.EMAIL = '$name' ";
$Sresult = mysqli_query($mysqli, $query);
if(! $Sresult) {
die("Database query failed: $Sresult");
}
$result = array();
while($row = mysqli_fetch_array($Sresult))
$list = array_push($result, array('name' => $row[0]));
$c = json_encode(array("result" => $result));
echo $c;
?>
在這一點上,我的數組是「裝」,我能看到螢火蟲的響應:
{"result":[{"name":"Chenal"},{"name":"Heights"}]}
但是,我似乎無法得到我的選擇選項已填充。我覺得我比這更難(而且我一直在盯着它很長一段時間)。謝謝你們的幫助。
而不是回饋對象的數組,每個它只有一個name屬性,你應該直接返回一個值的數組。你可以用一個簡單的'for'循環來循環。 //你的代碼中肯定有錯誤的是你試圖訪問'response.name',但你的響應對象沒有這樣的屬性 - 它是'response.result',並且只有它是一個對象數組。 – CBroe 2015-01-26 18:47:06
請考慮下次對您的問題提供反饋。 – vcanales 2015-01-26 20:08:35
Cbroe ...感謝您的評論。所有這些迴應都非常有幫助。你們很棒... – rdugge 2015-01-27 00:51:51