SPServices介绍之二:基本方法调用

 

SPServices介绍之二:基本方法调用

分类: SPSerivces

在上一篇文章SPServices介绍之一中,简单介绍了SPServices以及如何将它添加到SharePoint的项目中,这篇文章继续介绍一下SPSevices提供的基本方法。

这些基本的方法可以到SPServices的主页中查找:点击打开链接

核心对象$().SPServices

对象$().SPServices是SPServices库的核心对象,绝大多数的方法调用都需要使用这个对象,例如

获取当前站点的url的方法SPGetCurrentSite

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. $().SPServices.SPGetCurrentSite();  


获取当前登录用户的信息的方法
SPGetCurrentUser
语法:

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. $().SPServices.SPGetCurrentUser{(  
  2.     webURL: "",<span style="white-space:pre">     </span>//站点url,默认是当前站点url  
  3.     fieldName: "Name",  //用户信息列表中的列名  
  4.     fieldNames:[],      //用户信息列表中的列名数组  
  5.     debug:false         //是否开启debug模式,如果开启,调用出错时显示debug信息  
  6. });  

一个例子:

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. $().SPServices.SPGetCurrentUser({fieldNames: ["Name", "Title", "EMail"], debug:false});  
这个方法通过Ajax调用获取用户信息列表中的信息(/_layouts/userdisp.aspx)。我们可以在fieldNames中指定读取的column名字,其中Name是Account名(对应Account列),Title是用户名(对应Name列),Email是邮箱名(对应Work email列),如果对于用户Andy Lee,他的用户信息是:

那么调用SPGetCurrentUser方法之后获取的信息是:



获取列表中的最后一个item的ID的方法SPGetLastItemId

语法:

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. $().SPServices.SPGetLastItemId({      
  2.     webURL: "",        //列表所在站点的url,默认是当前站点url,可以使用相对url例如 "/", "/Departments/HR"  
  3.     listName: "",      //列表的名字或者GUID, 如果是GUID,应该使用"{9CC9DF10-E677-4A59-8FBE-B622F9598CFE}"这种形式  
  4.     userAccount: "",   //指定用户,接受"domainusername"这种形式,默认使用当前用户  
  5.     CAMLQuery: ""      //指定一个CAML查询,形如"<Eq><FieldRef Name='Status'/><Value Type='Text'>Avtive</Value></Eq>"  
  6. });  
一个例子:
[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. $().SPServices.SPGetLastItemId({  
  2.     listName:"Tasks"  
  3. });  
将返回Tasks列表中最后一个创建的item的id。

根据column的static name获取display name的方法SPGetDisplayFromStatic

语法

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. var thisDisplayName = $().SPServices.SPGetDisplayFromStatic ({    
  2.   webURL: "",             //列表所在站点的url,默认是当前站点url,可以使用相对url例如 "/", "/Departments/HR"  
  3.   listName: "",           //列表名字或者GUID,如果是GUID,应该使用"{9CC9DF10-E677-4A59-8FBE-B622F9598CFE}"这种形式  
  4.   columnStaticName: "",   //column的static name  
  5.   columnStaticNames: []   //可以指定多个column的static name  
  6. });  
一个例子,获取Tasks列表中的Title列的display name:
[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. var titleDisplayName = $().SPServices.SPGetDisplayFromStatic ({   
  2.       listName: "Tasks",  
  3.       columnStaticName: "Title"  
  4.     });  
获取Tasks列表中的Title和Status列的display name:
[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. var displayNames = $().SPServices.SPGetDisplayFromStatic ({   
  2.       listName: "Tasks",  
  3.       columnStaticNames: {"Title", "ContentType"}  
  4.     });  

根据column的display name获取static name的方法SPGetStaticFromDisplay
与上一个方法相反,这个方法根据display name获取column的static name。

语法:

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. var thisStaticName = $().SPServices.SPGetStaticFromDisplay ({     
  2.   webURL: "",  
  3.   listName: "",  
  4.   columnDisplayName: "",  
  5.   columnDisplayNames: []    
  6. });  
仅举一个例子:
[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. var staticNames = $().SPServices.SPGetStaticFromDisplay({  
  2.                 listName: "Tasks",  
  3.                 columnDisplayNames: ["Task Name", "Content Type"]  
  4.             });  

可以通过staticNames["Task Name"]来获取Task Name列对应的static name。

获取查询字符串的方法SPGetQueryString

用来获取url中的查询字符串的参数值,例如页面url是“http://servername/sitename/Lists/MyList/NewForm.aspx?ID=10”,那么可以使用以下方式获取参数ID的值:

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. var queryString = $().SPServices.SPGetQueryString();  
  2. var itemId = queryString["ID"];  
  3. 或者  
  4. var itemId = queryString.ID  

获取当前列表ID的方法SPListNameFromUrl

在列表的上下文中,从Url中获取列表的ID。

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. var listId = $().SPServices.SPListNameFromUrl()  

将日期转换为ISO格式的方法SPConvertDateToISO

语法:

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. $().SPServices.SPConvertDateToISO({  
  2.    dateToConvert: new Date(),    //日期,默认是当前日期和时间  
  3.    dateOffset: "-05:00"          //时区偏移量,默认是EST时间  
  4. });  
一个例子:
[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. var currentISO = $().SPServices.SPConvertDateToISO(); //获取当前日期的ISO时间,格式为:"2014-09-18T17:28:31Z-05:00"  

以下是这篇文章的示例代码:

[javascript] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. <script type="text/javascript">  
  2.         $(document).ready(function () {  
  3.             $("#output").append("<div>-----------Start SPGetCurrentSite----------</div>");  
  4.             var currentSiteUrl = $().SPServices.SPGetCurrentSite();  
  5.             $("#output").append("<div>Current Site Url: " + currentSiteUrl + "</div>");  
  6.             $("#output").append("<div>-----------End SPGetCurrentSite----------</div>");  
  7.   
  8.             $("#output").append("<div>-----------Start SPGetCurrentUser----------</div>");  
  9.             var currentUser = $().SPServices.SPGetCurrentUser({fieldNames: ["Name", "Title", "EMail"], debug:false});  
  10.             $("#output").append("<div>Current User Account Name: " + currentUser.Name + "</div>");  
  11.             $("#output").append("<div>Current User Name: " + currentUser.Title + "</div>");  
  12.             $("#output").append("<div>Current User Email: " + currentUser.EMail + "</div>");  
  13.             $("#output").append("<div>-----------End SPGetCurrentUser----------</div>");  
  14.   
  15.             $("#output").append("<div>-----------Start SPGetLastItemId----------</div>");  
  16.             var lastItemId = $().SPServices.SPGetLastItemId({ listName: "Tasks" });  
  17.             $("#output").append("<div>Last Item Id in Tasks List: " + lastItemId + "</div>");  
  18.             $("#output").append("<div>-----------End SPGetLastItemId----------</div>");  
  19.   
  20.             $("#output").append("<div>-----------Start SPGetDisplayFromStatic----------</div>");  
  21.             var titleDisplayName = $().SPServices.SPGetDisplayFromStatic({  
  22.                 listName: "Tasks",  
  23.                 columnStaticName: "Title"  
  24.             });  
  25.             $("#output").append("<div>Display Name of Title Column: " + titleDisplayName + "</div>");  
  26.             var displayNames = $().SPServices.SPGetDisplayFromStatic ({   
  27.                 listName: "Tasks",  
  28.                 columnStaticNames: ["Title", "ContentType"]  
  29.             });  
  30.             $("#output").append("<div>Display Name of Title Column: " + displayNames.Title + "</div>");  
  31.             $("#output").append("<div>Display Name of ContentType Column: " + displayNames.ContentType + "</div>");  
  32.             $("#output").append("<div>-----------End SPGetDisplayFromStatic----------</div>");  
  33.   
  34.             $("#output").append("<div>-----------Start SPGetStaticFromDisplay----------</div>");  
  35.             var staticNames = $().SPServices.SPGetStaticFromDisplay({  
  36.                 listName: "Tasks",  
  37.                 columnDisplayNames: ["Task Name", "Content Type"]  
  38.             });  
  39.             $("#output").append("<div>Static Name of Task Name Column: " + staticNames["Task Name"] + "</div>");  
  40.             $("#output").append("<div>Static Name of Content Type Column: " + staticNames["Content Type"] + "</div>");  
  41.             $("#output").append("<div>-----------End SPGetStaticFromDisplay----------</div>");  
  42.   
  43.             $("#output").append("<div>-----------Start SPConvertDateToISO----------</div>");  
  44.             var currentISO = $().SPServices.SPConvertDateToISO()  
  45.             $("#output").append("<div>Current ISO time: " + currentISO + "</div>");  
  46.             $("#output").append("<div>-----------End SPConvertDateToISO----------</div>");  
  47.         });  
  48.     </script>  
原文地址:https://www.cnblogs.com/ningang/p/4302068.html