javascript - JSON 响应数据长度在 Ajax 中出现未定义错误?

标签 javascript jquery ajax json response

我想在 JavaScript 警告框中获取 language 的长度 -

看截图-

Ajax 响应 -

enter image description here

enter image description here

我的 Ajax 代码 -

function search_menu(){
    $.ajax({
        type: 'post',
        url: rootUrl() + "rest_apis/search_menu.json", 
        cache: false,        
        success: function(res){ //alert(data.data[0].language[142]);
            var len = res.data[0].language.length; 
            alert(len); //Showing undefined
        },
        contentType: 'application/json',
        dataType: 'json'
    });
}

我只是提醒 alert(lang) 它显示未定义。实际上在语言中有 36 条记录。为什么显示 undefined

最佳答案

尝试:Object.keys(res.data[0].language).length

实例:

var res = {
        "data" : [
                {
                  "language" : { "107":"english", "142":"hindi", "143" : "indonesian"}
                }
        ]
}


alert("There are " + Object.keys(res.data[0].language).length + " languages." )

关于javascript - JSON 响应数据长度在 Ajax 中出现未定义错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28342244/

相关文章:

php - jQuery/Ajax动态加载特定id的PHP页面

javascript - Angular 无法识别 forEach 循环中的范围变量更改

javascript - 如何使用 Jquery 或 Javascript 更改原始字符串中的 HTML 属性?

javascript - 如何创建向下钻取表行

javascript - jQuery UI 自动完成 $.widget 不起作用

javascript - 如何使用ajax将动态插入的数据从javascript传递到php

javascript - Firefox:服务 worker :SecurityError:DOMException:操作不安全

javascript - 如何知道 react native 应用程序是否进入后台?

javascript - 如何更改 <p> 标签文本,而不删除下划线或斜体格式?

javascript - 为每个数据库请求发送凭据?