SharePoint 2007: certified SharePoint 2010: certified


This utility function, which is also publicly available, returns information about the current user.

How It Works

The SPGetCurrentUser function does an AJAX call to grab /_layouts/userdisp.aspx?Force=True and "scrapes" the values from the page based on the internal field name (aka StaticName).

Note: There is a bug in the versions 2013.01, 2013.02, and 2014.01 where only the relative path ("/") is returned from $().SPServices.SPGetCurrentSite rather than the full path ("http://servername/sitename"). This causes problems in the root site for $().SPServices.SPGetCurrentUser.


  webURL: "",        // Added in 2013.01  
  fieldName: "Name"</span>,
  fieldNames: {},         // Added in v0.7.2 to allow multiple columns  
  debug: false


URL of the target Site Collection. If not specified, the current Web is used.


You can specify which value from userdisp.aspx you'd like returned with this option. The default is the user's account (Name in the Field Internal Name column below). You can specify any of the Field Internal Names for option fieldName. The fields listed below are the default out-of-the-box fields. If you’ve got custom fields which are exposed on the userdisp.aspx page, then you should be able to retrieve them with this function as well.

Note that, as of v0.6.1, you can also request the ID of the user by specifying fieldName: "ID".

Field Name Field Internal Name WSS MOSS
Account Name
Name Title
Work e-mail EMail
About me Notes
Picture Picture
Department Department
Job Title JobTitle
SIP Address SipAddress
First name FirstName
Last Name LastName
Work phone WorkPhone
Office Office
User name UserName
Web site WebSite
Responsibilities SPResponsibility


Added in v0.7.2 to allow requesting multiple column values. The column names can be passed in as an array, such as ["ID", "Last Name"]


Setting debug: true indicates that you would like to receive messages if anything obvious is wrong with the function call, like specifying a value which doesn't exist. I call this debug mode.


var thisUserAccount = $().SPServices.SPGetCurrentUser({
    fieldName: "Name",
    debug: false
var thisUserName = $().SPServices.SPGetCurrentUser({
    fieldName: "Title",
    debug: false
var thisUserID = $().SPServices.SPGetCurrentUser({
    fieldName: "ID",
    debug: false
var thisUsersValues = $().SPServices.SPGetCurrentUser({
    fieldNames: ["ID", "Name", "SIP Address"],
    debug: false

Back to top