在Javascript里访问SharePoint列表数据的实现方法 |
本文标签:SharePoint,列表数据 在SharePoint2010里有了很好的解决方案(详见拙文SharePoint客户端编程系列http://www.jb51.net/article/27198.htm),但是在SharePoint2007里就没那么好用,具体问题具体分析,本文要解决的是如何在JavaScript里通过WebService访问SharePoint数据的问题 。 首先需要从此处(http://darrenjohnstone.net/download/12)下载JavaScript API包 引用次JS,里面有两个库,一个包是处理核心库SPAPIcore.js,另一个包提供了大多供调用的接口SPAPI_Lists.js <script src="SPAPI_Core.js"></script> 以下是一个在SPD订制开发的时候经常遇到的问题,获取用户信息: 复制代码 代码如下: function getCurrentUserStat() { var lists = new SPAPI_Lists(); var items = lists.getListItems( UserInfo, , <Query><Where><Eq><FieldRef Name="ID"/><Value Type="Counter"> + _spUserId + </Value></Eq></Where></Query>, // query <ViewFields><FieldRef Name="Department"/></ViewFields>, 1, // rowLimit // queryOptions ); 通过处理返回的XML文件可以获取相关信息 复制代码 代码如下: if (items.status == 200) { var rows = items.responseXML.getElementsByTagName(z:row); if (rows.length == 1) { var dep = rows[0].getAttribute(ows_Department); return rows[0].getAttribute(ows_Department); } } 此方法的调用是同步发送请求,此外,在调试的时候如果想了解属性还有值的详细信息,可以通过alert(items.responseText)来查看返回的结果 。 参考: http://darrenjohnstone.net/2008/07/22/a-cross-browser-javascript-api-for-the-sharepoint-and-office-live-web-services/ |