Welcome 微信登录

首页 / 脚本样式 / JavaScript / 如何在Javascript里访问SharePoint列表数据

如何在Javascript里访问SharePoint列表数据2014-09-19 cnblogs JohnsonWang在进行SharePoint订制的时候经常会遇到开发手段受限制的问题,比如通常公司都会限制服务器的访问以及部署,很多开发都只能够在客户端来进行。在SharePoint2010里有了很好的解决方案(详见拙文SharePoint客户端编程系列),但是在SharePoint2007里就没那么好用,具体问题具体分析,本文要解决的是如何在JavaScript里通过WebService访问SharePoint数据的问题。

首先需要从此处()下载JavaScript API包

引用次JS,里面有两个库,一个包是处理核心库SPAPIcore.js,另一个包提供了大多供调用的接口SPAPI_Lists.js

<script src="SPAPI_Core.js"></script>
<script src="SPAPI_Lists.js"></script>
最常用的接口方法是getListItems(listName, viewName, query, viewFields, rowLimit, queryOptions, webID)

以下是一个在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)来查看返回的结果。