从响应API获取参数

时间:2018-09-28 04:17:43

标签: javascript php arrays api codeigniter

检索响应参数时出现问题。有人可以帮忙吗? :(

控制台上的此错误:

  

katalog_laporan:1837未捕获的TypeError:无法读取属性“ MENU”   未定义       在对象。 (katalog_laporan:1837)       在Function.each(jquery-3.2.1.slim.js:359)       在Object.success(katalog_laporan:1830)       在j(jquery-3.2.1.slim.js:3152)       在Object.fireWith [as resolveWith](jquery-3.2.1.slim.js:3212)       在x(jquery-3.2.1.slim.js:8159)       在XMLHttpRequest。 (jquery-3.2.1.slim.js:8159)

此文件使我满意:

                for(x = 0; x <= panjangindex; x++){
                    var fullmenu = response.detail[x].MENU;
                    var itemmenu = fullmenu.split('>');
                    var jumlahitem = itemmenu.length;
                    el.append('<li>');
                       for(i = 0; i < jumlahitem; i++){
                           var item = itemmenu[i]; 
                           el.append('<span  style="font-size:12px" class="label label-info arrowed-right arrowed-in">'+itemmenu[i]+'</span>');  
                       }
                    el.append('</li><br><br>');   
                }

2 个答案:

答案 0 :(得分:0)

为避免显示此错误,您应检查对象或数组的可用性,使其类似

for(x = 0; x <= panjangindex; x++){
var fullmenu = response.detail[x].MENU ?     response.detail[x].MENU : null;

if(fullmenu) {
    var itemmenu = fullmenu.split('>');
    var jumlahitem = itemmenu.length;
    el.append('<li>');
    for(i = 0; i < jumlahitem; i++){
        var item = itemmenu[i]; 
        el.append('<span  style="font-size:12px" class="label label-info arrowed-right arrowed-in">'+itemmenu[i]+'</span>');  
    }
el.append('</li><br><br>');
}
}

您必须通过console.log(response.details [x]);

检查您的api调用是否已经包含此元素。

答案 1 :(得分:0)

请尝试这样-

original_df = original_df.fillna("")

而不是-

response.detail[x]['MENU']

如果仍然无法使用,请通过以下链接共享响应变量格式。

https://gist.github.com

谢谢