JSON 响应数据长度在 Ajax 中出现未定义错误?
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
?
您将 language
拼错为 languge
,这就是 undefined
.
的原因
即使您没有,它也是一个对象而不是数组,因此它没有 length
属性。您需要数一数钥匙,看看有多少。
尝试: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." )
var res={"data":[{"language":{"190":"english","191":"gujarati"}}]};
console.log( Object.keys(res['data'][0].language).length);
使用 Object.keys().forEach();
。计算你的 json 长度。....CHeck to click here....
var json={"data":[{"language":{"190":"english","191":"gujarati"}}]};
var length=0;
Object.keys(json.data[0].language).forEach(function(key) {
length++;
});
alert(length);
我想在 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
?
您将 language
拼错为 languge
,这就是 undefined
.
即使您没有,它也是一个对象而不是数组,因此它没有 length
属性。您需要数一数钥匙,看看有多少。
尝试: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." )
var res={"data":[{"language":{"190":"english","191":"gujarati"}}]};
console.log( Object.keys(res['data'][0].language).length);
使用 Object.keys().forEach();
。计算你的 json 长度。....CHeck to click here....
var json={"data":[{"language":{"190":"english","191":"gujarati"}}]};
var length=0;
Object.keys(json.data[0].language).forEach(function(key) {
length++;
});
alert(length);