0
我能够在SharePoint SitePage中获取当前登录用户的全名。不过,我需要在它后面使用全名,并且使用它进行操作。不幸的是,它没有按预期工作。获取SharePoint中登录用户的用户名并立即使用它
下面是代码
<script type="text/javascript">
var currentUser = "";
$(document).ready(function() {
AddItem();
alert(currentUser);
});
function AddItem()
{
var context = new SP.ClientContext.get_current();
var web = context.get_web();
user = context.get_web().get_currentUser();
context.load(this.user);
context.executeQueryAsync(Function.createDelegate(this, this.onSuccessMethod),
Function.createDelegate(this, this.onFailureMethod));
}
function onSuccessMethod(sender, args) {
currentUser = this.user.get_title();
//alert(' Name:' + this.user.get_title() + '\n Login:' + this.user.get_loginName());
}
function onFaiureMethod(sender, args) {
//alert('request failed ' + args.get_message() + '\n' + args.get_stackTrace());
}
</script>
现在我想,既然我打电话警报(currentUser)的AddItem()之后,我会得到的当前登录的用户名,但它并非如此,因为它给了我空弦。基本上alert(currentUser)在AddItem()之前被调用。
任何想法/建议将不胜感激。
得到一个错误,说“回调”未定义。请让我知道,如果这个错误对你来说显而易见。 我只是需要一种方法来执行异步调用后的一些代码。 – premsh 2012-07-06 18:30:34
原始问题的缩进极其混乱,所以我误认为onSuccess方法处于相同的范围。 (在原始问题中也修正了缩进) – 2012-07-06 20:37:39