Six:问题:使用JQuery的Ajax来控制前端显示根据id值查询的对象。
问题分析:
情景再现:
$.each(data,function(i,item){
alert(item);
con+=
'<div class="container">'+
'<div class="table-responsive">'+
'<tr>'+
'<td>'+item.id+'</td>'+
'<td>'+item.name+'</td>'+
'<td>'+item.sex+'</td>'+
'<td>'+item.age+'</td>'+
'<td>'+item.student_class+'</td>'+
'<td>'+item.grade+'</td>'+
'<td>'+item.profession+'</td>'+
'</tr>'+
'</div>'+
'</div>';}),
$("#ajaxDiv").html(con);
得到的是显示为:
为什么会显示为数组的形式?
为什么是underfined未定义?
在网上偶然看到一句话:
遍历数组的一种方法(each,foreach):
$.each(arr,function(index,item){})
我一想到我根据id值返回一个对象,一个对象不应该称为数组。用alert(item)方法去尝试得到返回的结果集。如果是数组的话,则为显示其他学生对象。
解决问题:
试着把代码改为了这样的形式,结果就成功了。
原来$.each是用在数组中的,如果直接是一个对象的话,直接获取属性就OK了