2 delie08 delie08 于 2017.09.18 15:13 提问

ajax请求 数据返回问题

Uncaught TypeError: Cannot read property 'length' of null 请问这个问题怎么解决

7个回答

Oh_my_godness
Oh_my_godness   2017.09.18 15:44

在你处理返回值的时候应该用到length属性了,然后返回值是空值,大概理解

delie08
delie08 好的 谢谢了
10 个月之前 回复
Oh_my_godness
Oh_my_godness 回复delie08: 给个判断就行,如果不为空的情况下进行获取length,为空忽略
10 个月之前 回复
delie08
delie08 对的 用了result.length()的方法,但是现在可以怎样修改呢?
10 个月之前 回复
Oh_my_godness
Oh_my_godness 回复delie08: 意思也就是,你返回值是空值,你却对它进行了操作!
10 个月之前 回复
Oh_my_godness
Oh_my_godness 回复delie08: 那就是你在返回值取到后处理的程序有问题,看看是不是对这个值进行result.length()的方法之类的,
10 个月之前 回复
delie08
delie08 加载有数据,不会出错。数据为null就会出现这个提示。不知怎么解决。
10 个月之前 回复
yitian881112
yitian881112   2017.09.18 15:50

没有返回值,或者个应该不能为空的字段为空了,

delie08
delie08 意思是要给他一个返回值,对吧?
10 个月之前 回复
delie08
delie08 Cannot read property 'length' of null。加载有数据,不会出错。数据为null就会出现这个提示。不知怎么解决。
10 个月之前 回复
delie08
delie08   2017.09.18 15:53

Cannot read property 'length' of null。加载有数据,不会出错。数据为null就会出现这个提示。不知怎么解决。请有会解决的朋友帮忙解决一下。

weixin_37193140
weixin_37193140   2017.09.18 16:04

这就跟我们引用为null的对象的会报错一样,个人建议楼主请求后台的时候没有返回值可以给一个标识,希望能帮到楼主。

usecf
usecf   2017.09.18 16:07

试着在浏览器下发送你的请求 看有数据没,没的话 那就是后台没有获取到数据 需要看后台的问题 如果获取到了 那就看看你代码里面写的请求 url 参数对不对

delie08
delie08 加载有数据,不会出错。数据为null就会出现这个提示。
10 个月之前 回复
u014793147
u014793147   2017.09.18 16:20

后台没有返回属性length,ajax返回值取length时提示属性length不存在?

delie08
delie08 好的 谢谢了
10 个月之前 回复
u014793147
u014793147 回复delie08: 就判断length值是否存在吧
10 个月之前 回复
delie08
delie08 因为是点击城市选择数据,然后有些城市没数据,没有数据就显示无数据,我请求无数据的页面他也显示的是正在加载,但是请求是完成了 的,之后就报错
10 个月之前 回复
delie08
delie08 之后就报这个错误
10 个月之前 回复
delie08
delie08 因为是移动端,属于分页加载,滑动到底部加载数据,没有数据就显示无数据,然后我请求无数据的页面他也显示的是正在加载
10 个月之前 回复
delie08
delie08 就是我请求数据的length
10 个月之前 回复
u014793147
u014793147 回复delie08: 我能问下这个length的对象是什么嘛
10 个月之前 回复
delie08
delie08 主要是我请求有数据的页面,他就不会出现这个错误,请求无数据的页面他就出现这个错误,我现在就是属于前端页面负责,这个问题是后台没有传这个属性给我吗?有点不懂
10 个月之前 回复
u014793147
u014793147 回复delie08: 你这个具体在实现什么功能不清楚也不好说,我觉得后端处理好数据再返回,如果是一个可以为null的属性,传个null值到前端,前端应该就出现你提的这个问题。最好避免返回值为null
10 个月之前 回复
delie08
delie08 就是前端判断它为空的时候,该怎么做是吧?
10 个月之前 回复
u014793147
u014793147 返回数据没有的话,用0或者前端给个判断?
10 个月之前 回复
sunny_desmond
sunny_desmond   Rxr 2017.09.19 09:24

先打印一下 ajax 返回的这个data值,然后用typeof看一下这个值是什么类型,然后就能知道为什么没有length了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
ajax请求数据,返回数据顺序问题
ajax请求一个url,php后端处理后,数组为如下格式: $a = array( '-1'=> 10 ,'-3' => 2, '0' => '5' ,'-2' => 4); 然后使用php的asort函数对数组按照value进行升序排序后,如下: $a = array('-3' => 2, '-2' => 4,'0' => '5', '-1'=> 10  ); 前端aja
解决ajax异步传输数据,return返回为undefined的问题
function GetUserInfo(tp) { var username; $.ajax({ type: "POST", cache: false, data: "type=exlogin&tp=" + tp, url: "Handle/OpeartionHandler.ashx",
Ajax跨域请求——jsonp获取json数据
JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题; 例如在同一个系统中,我们进行了分布式分域名的部署,但是在这个域里面,我们需要通过ajax的方式去访问获取另一个域的数据,这时就产生的跨域的请求,但是浏览器出去安全考虑,是不允许进行跨域请求的; json与jsonp的区别:json是一种数据传输格式,而jsonp则是数据传输
配置ajax请求springmvc返回json格式数据
首先在controller的方法返回值(返回值类型为实体类)上增加@ResponseBody注解 然后两种配置方式如下: 方式一:spring4.0以及之后版本推荐 pom.xml增加如下依赖包 com.fasterxml.jackson.core jackson-databind 2.5.4 springmvc.xml中增加如下配置   class="org.s
关于springmvc 处理ajax返回json数据格式的问题
虽然我知道目前有很多的方式处理ajax请求来返回json数据格式数据,比如依赖goole中的gjson第三方的jar包, 但是对于springmvc使用@responsebody就能够很好处理ajax返回数据了我现在讲的是orm为mybaits的框架模式 只说查询 使用mybaits处理对应的sql语句之后会对数据进行指定数据格式的映射,map,通常我们直接返回一个map集合,如果是多条数据就
ajax+php超时操作,延时返回数据
在一次微信扫码登录中,为了减少ajax的请求次数研究了一下,ajax中的timeout的应用, js代码如下: var dataarr = { type: "POST", url: "__MODULE__/System/CheckUserWx", timeout:65000, //ajax请求超时时间65秒 data:{uid:'',rand:
Ajax多次请求同一个URL返回相同值问题
<br />把今天遇到的Ajax多次请求同一个URL返回相同值问题记录下....<br />   <br /> 今天用ASP写了一个AJAX的购物车程序,出现了一点的状况.请求页每次返回的结果都是一样的,我的本意是返回购物车的一些情况,但是只是第一次请求的时候返回值是正确的,后面再刷新页面,发出请求,返回的结果就跟第一次一样了...这个折磨了我一个上午,一开始以为是我的程序出了问题,但后来排除了这个可能.<br />   后来找资料看了下,原来都是网页缓存惹的祸,因为每次我们请求的URL都是相同的,浏览器把
在ie中关于ajax请求获得数据缓存问题的解决办法
ie浏览器总会出现一些很奇特的问题,比如,在默认的情况下,一般发送ajaxget请求,IE浏览器第一次会向服务器端请求,获取最新数据,如果地址和参数不编号,第二次及以后再发送请求,它就默认获取的缓存数据,这样的问题是ie中很常见的问题,一般POST则 认为是一个 变动性 访问 (浏览器 认为 POST的提交 必定是 有改变的),总结几个解决的办法: 1、在ajax发送请求前加上 anyA
关于传入不同参数请求同一Ajax后返回数据显示错乱的问题
问题描述:   有时候页面显示的下拉框数据需要从数据库中查询,这时就要用到Ajax请求后台,然后把符合要求的结果传递到前台页面,遍历值,然后为下拉框新增选项。  如:输入一本书的名字,分别查询出符合该书名的所有一级分类和二级分类。 你可能会在请求一级分类的Ajax路径里面写"requestPath?category=first" 请求二级分类的Ajax路径里面写"requestPath?c
ajax同时多次请求某一函数,造成先后顺序问题
ajax同时多次请求某一函数,造成返回的数据存在乱序 不一定是先请求的就先执行,要看后台什么时候返回执行结果。 后台先返回执行结果的才会先执行。 因此这时候需要使用同步请求。 如果这个方法不好使,用when done 或者在complete里写。