[英]JSON response data length getting undefined error in Ajax?
我想在JavaScript警报框中获取language
的长度-
看截图-
Ajax响应-
我的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." )
使用Object.keys().forEach();
.count您的json长度。 ....点击此处....
var json={"data":[{"language":{"190":"english","191":"gujarati"}}]};
var length=0;
Object.keys(json.data[0].language).forEach(function(key) {
length++;
});
alert(length);
var res={"data":[{"language":{"190":"english","191":"gujarati"}}]};
console.log( Object.keys(res['data'][0].language).length);
您将language
languge
认为是language
,这就是为什么language
undefined
。
即使您没有,它也是一个对象而不是数组,因此它没有length
属性。 您需要对键进行计数以找出有多少键。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.