在Javascript里访问SharePoint列表数据的实现方法


Posted in Javascript onMay 22, 2011

在SharePoint2010里有了很好的解决方案(详见拙文SharePoint客户端编程系列https://3water.com/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>
<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)来查看返回的结果。

参考:

http://darrenjohnstone.net/2008/07/22/a-cross-browser-javascript-api-for-the-sharepoint-and-office-live-web-services/

Javascript 相关文章推荐
CSS+jQuery实现的一个放大缩小动画效果
Sep 24 Javascript
一个可以增加和删除行的table并可编辑表格中内容
Jun 16 Javascript
JS获取图片lowsrc属性的方法
Apr 01 Javascript
js实现Form栏显示全格式时间时钟效果代码
Aug 19 Javascript
Javascript中神奇的this
Jan 20 Javascript
jQuery UI制作选项卡(tabs)
Dec 13 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
Apr 13 jQuery
javascript实现日期三级联动下拉框选择菜单
Dec 03 Javascript
详解Angular2中Input和Output用法及示例
May 21 Javascript
JS的函数调用栈stack size的计算方法
Jun 24 Javascript
Vue SPA单页应用首屏优化实践
Jun 28 Javascript
js实现轮播图效果 z-index实现轮播图
Jan 17 Javascript
SharePoint 客户端对象模型 (一) ECMA Script
May 22 #Javascript
JQuery里选择超链接的实现代码
May 22 #Javascript
改善用户体验的五款jQuery插件分享
May 22 #Javascript
JS 进度条效果实现代码整理
May 21 #Javascript
jquery 使用点滴函数代码
May 20 #Javascript
JQuery对checkbox操作 (循环获取)
May 20 #Javascript
检测jQuery.js是否已加载的判断代码
May 20 #Javascript
You might like
mayfish 数据入库验证代码
2010/04/30 PHP
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
2011/05/04 PHP
WordPress迁移时一些常见问题的解决方法整理
2015/11/24 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
js模拟实现Array的sort方法
2007/12/11 Javascript
Extjs入门之动态加载树代码
2010/04/09 Javascript
30个最佳jQuery Lightbox效果插件分享
2011/04/11 Javascript
javascript 主动派发事件总结
2011/08/09 Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
2012/05/24 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
js实现文字选中分享功能
2017/01/25 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
2019/07/23 Javascript
Vue+abp微信扫码登录的实现代码示例
2020/01/06 Javascript
JQuery获得内容和属性方法解析
2020/05/30 jQuery
Postman无法正常返回结果问题解决
2020/08/28 Javascript
vue实现图片裁剪后上传
2020/12/16 Vue.js
[04:09]2018年度DOTA2社区贡献奖-完美盛典
2018/12/16 DOTA
Python中用于返回绝对值的abs()方法
2015/05/14 Python
Python实现对excel文件列表值进行统计的方法
2015/07/25 Python
使用Python实现BT种子和磁力链接的相互转换
2015/11/09 Python
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
解决python 无法加载downsample模型的问题
2018/10/25 Python
python使用插值法画出平滑曲线
2018/12/15 Python
Python 解决相对路径问题:&quot;No such file or directory&quot;
2020/06/05 Python
AmazeUI 输入框组的示例代码
2020/08/14 HTML / CSS
美国折衷生活方式品牌:Robert Graham
2018/07/13 全球购物
Ibatis如何使用动态表名
2015/07/12 面试题
2014年百日安全生产活动总结
2014/05/04 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
教师节感恩老师演讲稿
2014/08/28 职场文书
民事诉讼代理委托书
2014/10/08 职场文书
2014年污水处理厂工作总结
2014/12/19 职场文书
先进集体事迹材料范文
2014/12/25 职场文书
答辩状格式范本
2015/05/22 职场文书