问题描述
//分行functiongetParentTjData(province,$this){$.ajax({url:"ReportData.aspx?action=GetParentTjData&day=7&province="+province+"&type=0&startdate=&enddate=",type:"get",dataType:"JSON",async:false,success:function(data){varhtml='';if(data!=null){for(variindata.Table){html+="<trid=""+data.Table[i].ID+""pid=""+province+"">"+"<td>"+(i+1)+"</td><td><divclass="branch-namefh"><ahref="javascript:void(0);"onclick="getMainFruitTjDataData("+data.Table[i].ID+",'"+province+"',$(this))"class="open">"+data.Table[i].DeptName+"</a></div></td>"+"<td><ahref="ArticleStatisticInfo.aspx?province=&deptid="+data.Table[i].ID+""target="_blank">查看</a></td><td>"+data.Table[i].NewArticles+"</td><td>"+data.Table[i].ViewCount+"</td><td>"+data.Table[i].UserTotal+"</td>"+"</tr>";}}$("#treeTable1").find('tr[pid="'+province+'"]').remove();$("#treeTable1").find('tr[id="'+province+'"]').after(html);}});}
解决方案
解决方案二:
IE8有F12了吧?它返回了什么?
解决方案三:
网页错误详细信息用户代理:Mozilla/4.0(compatible;MSIE8.0;WindowsNT5.1;Trident/4.0)时间戳:Tue,19Jan201605:52:13UTC消息:'Table.0.ID'为空或不是对象行:148字符:21代码:0
解决方案四:
你有table.0获取到是null值的情况?或者返回的值并没有被转化为json
解决方案五:
解决方案六:
你改成for(vari=0;i<data.Table.length;i++)循环
解决方案七:
success后,先弄个简单的返回,逐段排查
解决方案八:
我觉得是for解析的时候出现了错误,不是获取不到json数据,可以简单做一个是否获取成功的提示success:function(data){alert("成功获取数据")}
解决方案九:
在你的varhtml='';代码那里设置断点,就能用vs调试了。(注意在Debug下拉框旁边的浏览器类型选择中,选择ie)。贴出你的调试画面来。不会调试,先学调试,不用编程。
解决方案十:
在vs的变量监视窗口,调试你的data变量。在这个窗口中,可以树形展开data引用的对象的结构,可以看到完整的数据结构。
解决方案十一:
肯定是程序逻辑有问题,调试看下
解决方案十二:
断点跟踪看看你通过ajax,调用的方法进了没。进去后,返回的结果是什么。就你的错误来看,应该是table为null了。
解决方案十三:
标题让我以为ie8出问题了实际上你没有掌握调试代码的技能,ie下也可以调试代码。这里建议用googlechrome浏览器来调试代码,在chrome里打开你要调试的网址,按f12,看console有没有错误输出;另外你还可以看f12里的network点击相应的url可以看到请求到的结果是什么,如果还不能解决问题,可以通过加入console.log()输出要查看的对象是什么来查看问题
解决方案十四:
在你的ajax里加入这段代码看下错误在哪里error:function(XMLHttpRequest,textStatus,errorThrown){alert(XMLHttpRequest.status);alert(XMLHttpRequest.readyState);alert(textStatus);}
解决方案十五:
看下data是什么就ok,打个debugger,看下值