使用此代码时,该函数返回undefined而不是对象。
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";
对于其他类,我有几乎相同的代码,它们工作正常,所以我不知道为什么它不能正常运行
重复: 该问题被标记为[How do I return the response from an asynchronous call?的重复项。但是,我不想返回调用结果,我想返回一个包含用户名,密码,refresh_token ...和可以运行的方法的对象。删除异步部分时,我遇到了完全相同的问题:
function Oauth_User_Profile() {
this.username = "=";
this.password = "=";
this.refresh_token = "=";
this.access_token = "=";
}
这仍然给出错误:未捕获的TypeError:无法设置未定义的属性“用户名” 在testm.html:67
答案 0 :(得分:1)
您缺少new
关键字:
var oauth_user_profile = new Oauth_User_Profile();