Jquery SharePoint 2010使用SPServices获取用户ID

Jquery SharePoint 2010使用SPServices获取用户ID,jquery,sharepoint-2010,Jquery,Sharepoint 2010,我将SharePoint与SPServices jQuery库一起使用,并使用SPGetCurrentUser函数。但是,它似乎只返回登录用户名,而不返回ID。例如: DOMAIN\user 我需要ID为的整个帐户名: 1#域\用户 如果有方法返回ID,我可以将两者连接在一起。但是我找不到它 最终,我将尝试为当前用户分配一个列表项。如果有一种方法可以在没有身份证的情况下做到这一点,我也愿意接受这种可能性。谢谢 您可以尝试: $().SPServices.SPGetCurrentUser({

我将SharePoint与SPServices jQuery库一起使用,并使用
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在下面介绍的解决方案。我总是收到一个空白字符串。就在我打算放弃这件事之前,我找到了这个解决办法。工作就像一个魅力!!!