jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 从ajax返回数据时不工作data.length大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图用jQuery中的ajax获取json类型的一些数据,所以我写了这段代码

$.ajax({
    url: link.attr('href'),type: 'post',data: 'post=true',dataType: 'json',success: function(data){
        if (data.length > 0) {
            ldLayer.fadeOut('slow');
        }else{
            alert('no data');
        }
    }
});

但是当数据为null时,if将为true且ldLayer.fadeOut(‘slow’);会跑 !

更新:
console.log(data)结果为:[null]

解决方法

你得到了一系列结果.在您描述的问题案例中,您将获得一个包含单个null元素的数组.空数组([])的长度为0,但具有单个空元素([null])的数组的长度为1.

在客户端中,您可以检查数组的任何元素是否为非null:

success: function(data){
    var foundSomething = false;

    for(var i=0; i<data.length; ++i) {
        if(data[i] !== null) foundSomething = true;
        break;
    }

    if(foundSomething) {
        ldLayer.fadeOut('slow');
    }else{
        alert('no data');
    }
}

但是,更好的方法是修复服务器端代码,以便它不会发回带有null元素的数组.但是,如果您无法控制服务器代码,我上面提供的客户端解决方案是您最好的选择.

大佬总结

以上是大佬教程为你收集整理的jquery – 从ajax返回数据时不工作data.length全部内容,希望文章能够帮你解决jquery – 从ajax返回数据时不工作data.length所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。