未捕获的TypeError:无法读取属性' length'在Object.success中未定义

时间:2016-11-03 09:25:22

标签: javascript jquery json undefined

我正在尝试将json文件中的数据继承到选择框,但是我收到以下错误:

  

未捕获的TypeError:无法读取属性'长度'未定义的       at Object.success(http://localhost:4664/sublimeTest/app:6:35)       在我(https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js:2:27603)       at Object.fireWith [as resolveWith] cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js:2:28369)       在A cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js:4:13858)       在XMLHttpRequest。 cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js:4:16146)

这是我的html代码:

<!DOCTYPE html>
<html>
<head>
<title>moco</title>
</head>
<body>
<select id="brand"></select>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
    <script src="app"></script>
</body>
</html>

此处还有app.js代码:

var $select = $('#марка');

$.getJSON('brand_json.json', function(data){
    $select.html('');

    for (var i = 0; i < data['brand'].length; i++){

        $select.append('option id="' + data['brand'][i]['id'] + data['brand'][i]['марка'] + '</option>');
        //                                  ime na select id vo html-ot
        //                                                                      ime na id vo json
    }
});

所以我编辑了一下代码,但是选择框仍然没有显示项目,虽然我很确定它是否成功继承了它们。它只是没有在选择框中显示它们......

var select = $('#brand');

$.getJSON('brand_json', function(data){
    select.html('');

    // for (var i = 0; i < data.brand.length; i++){
    // $select.append("<option id=" + data['brand'][i]['id'] + ">" + data["brand"][i]["марка"] + "</option>");  

        var option = new Option(data.brand[0],data.brand[0]);
        $(select).append($(option));
        console.log(data.brand[0]);
        //var option = new Option(data.brand[i]["Марка"],data.brand[i]["Марка"]);
        //$(select).append($(option));
        });

0 个答案:

没有答案