在Javascript里访问SharePoint列表数据的实现方法
在SharePoint2010里有了很好的解决方案(详见拙文SharePoint客户端编程系列/article/27198.htm),但是在SharePoint2007里就没那么好用,具体问题具体分析,本文要解决的是如何在JavaScript里通过WebService访问SharePoint数据的问题。
首先需要从此处(http://darrenjohnstone.net/download/12)下载JavaScript API包
引用次JS,里面有两个库,一个包是处理核心库SPAPIcore.js,另一个包提供了大多供调用的接口SPAPI_Lists.js
最常用的接口方法是getListItems(listName, viewName, query, viewFields, rowLimit, queryOptions, webID)
以下是一个在SPD订制开发的时候经常遇到的问题,获取用户信息:
复制代码 代码如下:
function getCurrentUserStat()
{
var lists = new SPAPI_Lists('');
var items = lists.getListItems(
'UserInfo',
'',
'' + _spUserId + '', // query
'',
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/相关阅读:
WEB标准学习经验总结
条件CSS的介绍
Linux中命令行修改网关方法
float引起层飘出父层的解决方法
云网广告中的代码,提示出错,大家找找
深入探讨PHP中的内存管理问题
ASP.NET:页面缓存
CSS网页设计 IE8和IE7共存
如何用js控制css中的float的代码
大容量虚拟主机的动态配置
google地图的路线实现代码
疯狂DIY Ubuntu Linux系统是怎样练成的
操作重载与契约层级
由document.body和document.documentElement想到的