js出现Cannot read property 'length' of undefined

js代码:

 $(document).ready(function(){
        var url = "teachers/getSchoolList.do";
        $.ajax({
            type: "POST",
            url: url,
            //async : false,
            dataType:"text",
            success : function(data) {
                alert(data);
                alert("8888");
                var str="<dl>";
                console.log(data);
                $.each(data.list,function (i, value) {  
                    str=str+"<dd data-name='"+value[i].SCHOOLNAME+"'>"+value[i].SCHOOLNAME+"</dd>";    
                    });
                str = str+"</dl>";
                $(".erjimenu").html(str);
            },
            error:function(data){
                console.log(data);
                $("#form-notice").html('获取学校出错,请重新获取');
            }
        }); 
})
后台代码:
    @RequestMapping(value="/getSchoolList")
    public Object getSchoolList()throws Exception{
        ModelAndView mv = this.getModelAndView();
        PageData pd = new PageData();
        pd = this.getPageData();
        Map<String, Object> map = new HashMap<String, Object>();
        List<PageData> schoolList  = this.schoolService.listAll(new PageData());
        map.put("list", schoolList);
        return AppUtil.returnObject(pd, map);
    }

从中看出是dataDeal中的$.each()函数执行报的错,在执行each时,传入的参数为undefined

或为null时也会有此错误'length' of  null

......
答案就在这里:Uncaught TypeError: Cannot read property 'length' of undefined
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

检查下你的对象内容是否为null

data.list有值吗

关键是我使用debug模式,都不能进入对应的controller方法。

这种情况都是一些值为空啊

就没见你代码调用对象的length属性,贴错代码了吧