我的json是个list,我想把它解析出来放到table里面,但是总是出现这种情况:我解析的js代码是: function AjaxText(index){ $.ajax({ url : "findAction.action", type : "post", dataType : "json", data : { "index" : index }, success : function(data){alert("接受成功");studentlist(data);} }); } function studentlist(data){ //获取后台传过来的jsonData,并进行解析 alert("------->进入当前的数据展现"); var dataArray = $.parseJSON(data.jsonData); //此处需要让其动态的生成一个table并填充数据 var tableStr = "<table>"; tableStr = tableStr + "<tr><td>学号</td><td>姓名</td><td>性别</td></thead>"; alert(str); var len = dataArray.length; for(var i=0 ;i<len ; i++){ tableStr = tableStr + "<tr><td>"+ dataArray[i].studentId +"</td>"+"<td>"+dataArray[i].studentName + "</td>"+"<td>"+dataArray[i].studentSex +"</td></tr>"; } tableStr = tableStr + "</table>"; //将动态生成的table添加的事先隐藏的div中. alert(str); $("#dataTable").html(tableStr); } htmi中的一个div:<div id=”dataTable”></div> |
|
7分 |
你想弹出的这个str变量在哪里定义的,没有看到。
|
7分 |
什么时候触发的你没说清楚吧
|
8分 |
如果明确知道了data.jsonData是数组类型的格式,那么可以使用eval函数转换为array对象撒。
var dataArray = eval(“”(“”+data.jsonData+””)””); 另外,你的str变量在哪里定义的? |
额,这个写错了,应该是alert(tableStr);我改过来了,直接运行时还是这个结果,加上断点后能的输出第一个,不能输出的二个。 |
|
|
|
我的json是list类型的,一开始我是这样写的,也不行,后来改成那样的。 function studentlist(json){ var list = json.list; var str="<TABLE class=gridView id=ctl00_ContentPlaceHolder2_GridView1 style=""WIDTH: 100%; BORDER-COLLAPSE: collapse"" cellSpacing=0 rules=all border=1> <TBODY>"; str+="<TR><TH class=gridViewHeader style=""WIDTH: 50px"" scope=col> </TH>" +"<TH class=gridViewHeader scope=col>学号</TH>" +"<TH class=gridViewHeader scope=col>姓名</TH>" +"<TH class=gridViewHeader scope=col>性别</TH>" +"<TH class=gridViewHeader scope=col>专业</TH></TR>"; jQuery.each(json, function(i, item) { var studentId=item.studentId; var studentName=item.studentName; var studentSex=item.studentSex; var major=itam.major; str+="<tr> <TD class=gridViewItem style=""WIDTH: 50px""><IMG src=""images/bg_users.gif""></TD>"; str+="<TD class=gridViewItem>"+studentId+"</TD>"; str+="<TD class=gridViewItem>"+studentName+"</TD>"; str+="<TD class=gridViewItem>"+studentSex+"</TD>"; str+="<TD class=gridViewItem>"+major+"</TD>"; str+="</tr>"; }); str+="</TBODY></TABLE>"; alert(str); document.getElementById("dataTable").innerHTML=str; alert(str); } |
|
8分 |
jQuery.each(json, function(i, item) {…这里?
|
错误已经解决,我设置了表单,页面老是跳转,把表单去了就好了。
|