我是一名初學者,我試圖回顯數組並將它們追加到我創建的html分支中。我所做的AJAX電話很成功,但答覆沒有出現在我分配給它的分部內。經過進一步檢查,我發現我收到的回覆數組長度超過600(我期待10條記錄)。所以我的回聲PHP文件或者HTML文件的接收端一定有些問題,但是卻無法弄清楚它是什麼。Javascript,PHP,AJAX:如何回顯數組並將它們追加到html分區中
這裏是我的代碼:
listdiscount.php
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
$conn = new mysqli("localhost", "root", "root", "bencoolen");
$userid = $_GET['userid'];
$result = $conn->query("select userid, codename from discountcode where userid ='" . $userid . "' ");
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
printf("Userid: %s '' Codename: %s", $row["userid"], $row["codename"]);
}
$conn->close();
?>
的index.html(與JS代碼)
<html>
<script>
function mydiscount(){
var userid = "jimmy";
var xmlhttp = new XMLHttpRequest();
var url = serverURL() + "/listdiscount.php";
url += "?userid=" + userid;
alert(url);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
alert("readystate=4 and status =200");
mydiscountresult(xmlhttp.responseText);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
function mydiscountresult(response) {
var arr = response;
alert(arr); //alerted
alert(arr.length); //alerted 600+ arrays
alert("mydiscountresult working"); //alerted
var i;
$("#discountcontent").empty();
for(i = 0; i < arr.length; i++) {
$("#discountcontent").append("<b>" + arr[i].userid + "</b>"+ arr[i].codename + "<hr>");
}
}
mydiscount();
</script>
<div data-role="content" class="ui-content" id="discount">
LIST OF DISCOUNT CODE:<br>
<div id="discountcontent" class="ui-grid-solo">
</div>
</div>
</html>
這裏是我的迴應是什麼驚動時,如:
補充說明:我的php文件位於不同的文件夾中,所以serverurl()被聲明和使用 這裏。
看來,應對缺什麼? – technico
嘗試控制/提醒arr [i] .userid等的值,並檢查控制檯是否有錯誤報告。 –
確定我會在幾分鐘內提醒陣列用戶ID!也加入了反應,我忘了! –