2014-02-12 52 views
7

使用JavaScript,在用户登录成功后,我试图提取如下的用户名:Parse.com无法从Parse.User.current获取用户名?

var user = Parse.User.current(); 
name = user.getUsername; 

name的值是:function(){return this.get("username")}

如果我使用name = user.getUsername();

的值是undefined !!

+0

在第一种情况下,你只是检索功能,而不是执行它。在第二种情况下,您正在正确执行该功能,但看起来用户的属性尚未填充。 – Krease

回答

17
user.fetch().then(function(fetchedUser){ 
    var name = fetchedUser.getUsername(); 
}, function(error){ 
    //Handle the error 
}); 

这里的问题是Parse.User.current()方法将返回用户对象,如果用户登录或成功签约,但是这个对象不会是具有用户对象的所有细节。为了获得所有对象属性,您必须在用户Object上调用fetch方法。

+0

非常感谢分享这个。我花了14个小时寻找答案! – Dano007

5

尝试

var user = Parse.User.current(); 
var name= user.get("username"); 
+0

@Rajesh CP,非常感谢。 – Yvan

+1

错误的地方,虽然:) – Triode