Jquery SharePoint 2010使用SPServices获取用户ID
我将SharePoint与SPServices jQuery库一起使用,并使用Jquery SharePoint 2010使用SPServices获取用户ID,jquery,sharepoint-2010,Jquery,Sharepoint 2010,我将SharePoint与SPServices jQuery库一起使用,并使用SPGetCurrentUser函数。但是,它似乎只返回登录用户名,而不返回ID。例如: DOMAIN\user 我需要ID为的整个帐户名: 1#域\用户 如果有方法返回ID,我可以将两者连接在一起。但是我找不到它 最终,我将尝试为当前用户分配一个列表项。如果有一种方法可以在没有身份证的情况下做到这一点,我也愿意接受这种可能性。谢谢 您可以尝试: $().SPServices.SPGetCurrentUser({
SPGetCurrentUser
函数。但是,它似乎只返回登录用户名,而不返回ID。例如:
DOMAIN\user
我需要ID为的整个帐户名:
1#域\用户
如果有方法返回ID,我可以将两者连接在一起。但是我找不到它
最终,我将尝试为当前用户分配一个列表项。如果有一种方法可以在没有身份证的情况下做到这一点,我也愿意接受这种可能性。谢谢 您可以尝试:
$().SPServices.SPGetCurrentUser({
fieldName: "ID"
});
好吧,我想起来了:
$().SPServices({
operation: "GetUserInfo",
async: false,
userLoginName: $().SPServices.SPGetCurrentUser(),
completefunc: function (xData, Status) {
$(xData.responseXML).find("User").each(function() {
curUserId = $(this).attr("ID");
curUserName = $(this).attr("Name");
curFullUserName = $(this).attr("ID")+";#"+$(this).attr("Name");
});
}
});
这个小函数将创建三个变量:
- curUserId=当前用户ID(例如:1)
- curUserName=当前用户名(例如:域\用户)
- curFullUserName=以SP格式组合的ID和名称(例如:1;#域\用户)
$(xData.responseXML).find("PropertyData > Name:contains('Name')").each(function() {
Name = $(this).parent().find("Values").text();
alert(Name);
});
基于Skinnejoe的答案,该答案将返回当前用户的ID;要根据其他用户的登录信息(即域\用户名)查找其ID,只需添加以下逻辑: 函数getUserIdByUsername(登录){ var user={}; 变量参数={ 操作:“GetUserInfo”, async:false, completefunc:函数(扩展数据、状态){ $(扩展数据.responseXML).find(“用户”).each(函数(){ user.curUserId=$(this.attr(“ID”); user.curUserName=$(this.attr(“Name”); user.curFullUserName=$(this.attr(“ID”)+“;#”+ $(此).attr(“名称”); }); } }; 如果(登录名!=null){ params.userLoginName=登录名; }否则{ params.userLoginName=$().SPServices.SPGetCurrentUser(); } $().SPServices(params); 返回用户; }
getUserIdByUsername('DOMAIN\\User')尝试过,我只得到一个空白字符串。我花了几个小时试图实现一个类似于vvk在下面介绍的解决方案。我总是收到一个空白字符串。就在我打算放弃这件事之前,我找到了这个解决办法。工作就像一个魅力!!!