Я пытаюсь создать страницу входа и при успешном входе перечислить всех пользователей в выпадающем списке. Я делаю следующее:
- На
document.ready
, я проверяю учетные данные для входа в систему следующим образом:
$.ajax({
url: ‘ /api/login
',
dataType: 'json',
type: 'post',
contentType: 'application/json',
data: JSON.stringify(args),
success: function(data) {
if (!data.error) {
console.log("You are logged in!", data.result);
loadUsers();
} else {
console.log(data.error);
}
}
},
});
- Значение
loadUsers()
указано ниже:
function loadUsers() {
$.ajax({
url: '/adminapi/getlogins',
dataType: 'json',
type: 'post',
contentType: 'application/json',
async: true,
success: function(data) {
if (!data.error) {
console.log("loaded select", data.result)
$.each(data.result, function(k, v) {
$('<option>').val(v.loginid).text(v.firstname + "" + v.familyname)
.appendTo('#selectLogin');
loginUserList.push(data.result);
});
} else {
console.log(data.error);
}
},
});
}
loginUserList
глобально определен как пустой массив.
При входе в систему я вижу, что следующие записи в консоли для loginUserList
users: (2) [{…}, {…}]
0: {loginid: 1, logintype: 2, firstname: "abc", familyname: "aaa", email: "aa@in.com"}
1: {loginid: 2, logintype: 1, firstname: "king", familyname: "abc", email: "king@mm.com"}
length: 2 __proto__: Array(0)
Но когда я выбираю опцию из выпадающего списка, loginUserList
показывает следующее в консоли.
users (2) [Array(2), Array(2)]
0: Array(2)
0: {loginid: 1, logintype: 2, firstname: "abc", familyname: "aaa", email: "aa@in.com"}
1: {loginid: 2, logintype: 1, firstname: "king", familyname: "abc", email: "king@mm.com"}
length: 2 __proto__: Array(0)
1: Array(2)
0: {loginid: 1, logintype: 2, firstname: "abc", familyname: "aaa", email: "aa@in.com"}
1: {loginid: 2, logintype: 1, firstname: "king", familyname: "abc", email: "king@mm.com"}
length: 2 __proto__: Array(0)
length: 2 __proto__: Array(0)
И событие onchange
выглядит следующим образом:
document.getElementById("selectLogin").addEventListener("change",function(){
console.log("users",loginUserList)
});
Я не могу понять, почему это происходит. Пожалуйста, помогите