Неперехваченный (в обещании) Ошибка типа: не удается прочитать свойство ‘0’ неопределенного

#javascript #ajax #asynchronous #xmlhttprequest

#javascript #ajax #асинхронный #xmlhttprequest

Вопрос:

     const promise = new Promise((resolve,rejest) =>{
    const xhr = new XMLHttpRequest();
    xhr.onload =  () =>{
        if(xhr.status >= 200 amp;amp; xhr.status < 300){
            resolve(xhr.response);
        }else{
            reject(xhr.statusText);
        }
    }
    xhr.open("GET","../fetch.php?s=" option, true);
    xhr.send();
}).then((result) =>{
    const obj = JSON.parse(result);
    let keys = Object.keys(obj[0]);
    keys = Array.from(keys);
    for(let i = 0; i < obj.length; i  ){

        for(let j = 0; j < keys.length; j  ){
                console.log(obj[i].keys[j]);
        }
    }
});
 

obj [i].keys [j]; по какой-то причине возвращает неопределенный.
Файл JSON выглядит следующим образом:

 [{"user_id":"3","user_name":"admin","user_password":"password","user_role":"admin"},{"user_id":"4","user_name":"some_user","user_password":"some_passowrd","user_role":"user"}]
 

Например, когда я пытаюсь obj [0].user_name, он возвращает значение.
Я должен сделать это таким образом, потому что я не знаю ключи перед его загрузкой.

Комментарии:

1. Попробуйте получить к нему доступ с помощью obj[i][keys[j]]

2. вы можете получить доступ к свойствам объекта либо с помощью obj. propName или если само имя хранится в переменной с obj[«propName»]