a63877572 2020-05-10 06:35 采纳率: 33.3%
浏览 5515

juqery,网页打开时无法正常显示,审查元素出现Uncaught TypeError:Cannot read property 'length'of undefined,这怎么解决

图片说明

这是我敲出来的代码:

<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
            select{
                padding: 5px;
                width: 150px;
            }
        </style>
</head>
<body>
<select  id="province" >
            <option value="" >请选择</option>
        </select>

        <select  id="city" >
            <option value=""  id="1">请选择</option>
        </select>

        <select  id="area" >
            <option value="" >请选择</option>
        </select>


        <script src="js/jquery-3.5.1.min.js"></script>
        <script>
            var provData;
            var cityData;
            var areaData;



            $.ajax({
                type:"get",
                url:"address.json",
                async:false,
            dataType:"json",
            success:function(data){
                provData = data;
            }
        }); 

        function processAddress(selectData,selectELe){

            selectELe.nextAll("select").addBack().empty().hide();

            if(selectData.length<=0){
            return;
            }   
            selectELe.show();

            $.each(selectData, function(index,item) {
                if(item.name){
                    $("<option>").html(item.name).val(index).appendTo(selectELe);
                }else{
                    $("<option>").html(item).val(index).appendTo(selectELe);
                }
            });
            selectELe.trigger("change");
        }

        $("#province").change(function(){
            var val=$(this).val();
            cityData=provData[val].child;
            processAddress(cityData,$(this).next("select"));
        });

        $("#city").change(function(){
            var val=$(this).val();
            areaData=cityData[val].child;
            processAddress(areaData,$(this).next("select"));
        });

        processAddress(provData,$("#province"));
        </script>
</body>
</html>

这个引用的address.json文件的一部分,HBuilder运行没事
图片说明
请问下要怎么解决?
图片说明

  • 写回答

1条回答

  • 农夫丶果园 2020-05-10 11:39
    关注

    看报错信息 , 无法从undefined中读取length属性 ; 由于跨域请求失败 , 导致你定义的provData没有初始化 还是undefined的 ;

    评论

报告相同问题?

悬赏问题

  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误