我从php获取数据,并使用ajax接收响应。
当我尝试显示所有结果时,ajax响应会让我将所有用户名合并为一个长字符串而不是我可以循环播放的数组。
我错过了什么?
我的ajax代码如下:
function userquery(){
var user = document.getElementById("user").value;
var userq = "%"+user+"%";
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == XMLHttpRequest.DONE) { // XMLHttpRequest.DONE == 4
if (xmlhttp.status == 200) {
var response = JSON.parse(xmlhttp.responseText);
for(var i = 0; i < response.length ; i++){
document.getElementById("response").innerHTML += response["user"];
}
}
else if (xmlhttp.status == 400) {
alert('There was an error 400');
}
else {
alert('something else other than 200 was returned');
}
}
};
xmlhttp.open("POST", "userquery.php", true);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send("user=" + userq);
}
答案 0 :(得分:0)
您的元素为div
,因此要将每个用户分开并将其添加到新行。最后添加<br>
。更改您的代码
document.getElementById("response").innerHTML += response["user"];
到
document.getElementById("response").innerHTML += response["user"]+"<br>";