При использовании этого кода функция возвращает неопределенный вместо объекта.
function Oauth_User_Profile() {
this.username = "=";
this.password = "=";
this.refresh_token = "=";
this.access_token = "=";
this.request = function(url, formData, method, then) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if(xhttp.readyState == 4 && xhttp.status == 200)
{
var j = JSON.parse(this.responseText);
then(j);
}
}
xhttp.open(method, url);
xhttp.send(JSON.stringify(formData));
}
}
var oauth_user_profile = Oauth_User_Profile();
oauth_user_profile.username = "sample";
У меня есть почти такой же код для других классов, который работает нормально, поэтому я не знаю, почему он работает неправильно
Дубликат:
Вопрос был помечен как дубликат для [ Как мне вернуть ответ от асинхронного вызова? . Однако я не хочу возвращать результат вызова, я хочу вернуть объект, который содержит имя пользователя, пароль, refresh_token ... И метод, который можно запустить. Я сталкиваюсь с точно такой же проблемой при удалении асинхронной части:
function Oauth_User_Profile() {
this.username = "=";
this.password = "=";
this.refresh_token = "=";
this.access_token = "=";
}
Это по-прежнему выдает ошибку: Uncaught TypeError: Невозможно установить свойство 'username' из неопределенного
at testm.html: 67