原生JS中ajax的GET请求获得数据的输出
记录一学习前端时遇到的问题
window.onload = function(){
var teacherID = null;
var teacherName = "LiHua";//tname
url = "http://localhost:8080/curriculum/searchCurrByTeacherName/%E9%99%88%E7%9D%BF";
/*如果传入为name,则进行一次后端申请搜索教师姓名返回到teacherName*/
/*用teacherName搜索课程信息*/
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var data = eval("("+xmlhttp.responseText+")");
console.log(data);
var tbody = document.getElementById('personal_class_list');
var row = document.createElement('tr');
for(var i = 0;i < data.length;i++){
var cidCell = document.createElement('td');
cidCell.innerHTML = data[i].id;
row.appendChild(cidCell);
var cnameCell = document.createElement('td');
cnameCell.innerHTML = data[i].name;
row.appendChild(cnameCell);
var tnameCell = document.createElement('td');
tnameCell.innerHTML = data[i].teacher.name;
row.appendChild(tnameCell);
var schoolCell = document.createElement('td');
schoolCell.innerHTML = data[i].school.name;
row.appendChild(schoolCell);
tbody.appendChild(row);
}
/*var sidCell = document.createElement('td');
sidCell.innerHTML = eval("("+xmlhttp.response+")").id;
row.appendChild(sidCell);*/
}
}
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
在ajax发送请求获得response数据后,用eval函数讲response数据转换成可以按项读取的数据即可
如xmlhttp.open("GET",url,true);
发送后获得的数据xmlhttp.response
用如下方式转换即可
var data = eval("("+xmlhttp.responseText+")");
之后就可以按不同数据项获得数据
tnameCell.innerHTML = data[i].teacher.name;