получить параметр из API ответа - PullRequest
0 голосов
/ 28 сентября 2018

У меня возникла проблема при получении параметров ответа.Кто-нибудь может помочь?: (

эта ошибка на консоли:

katalog_laporan: 1837 Uncaught TypeError: Невозможно прочитать свойство 'MENU' undefined в Object. (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 resolWith] (jquery-3.2.1.slim.js: 3212) в x (jquery-3.2.1.slim.js: 8159) в XMLHttpRequest. (jquery-3.2.1.slim.js: 8159)

этот файл js me:

                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 голосов
/ 23 октября 2018

Пожалуйста, попробуйте так -

response.detail[x]['MENU']

вместо -

response.detail[x].MENU

Если все еще не работает, пожалуйста, поделитесь форматом переменной ответа через ссылку ниже.

https://gist.github.com

Спасибо

0 голосов
/ 23 октября 2018

Чтобы не показывать эту ошибку, вы должны проверить доступность вашего объекта или массива, чтобы он был похож на

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>');
}
}

И вы должны проверить вызов API, который уже содержит этоэлемент by console.log (response.details [x]);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...