在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 相关文章推荐
基于jQuery的树控件实现代码(asp.net+json)
Jul 11 Javascript
JavaScript函数获取事件源的小例子
May 14 Javascript
jQuery插件制作之参数用法实例分析
Jun 01 Javascript
基于jQuery实现拖拽图标到回收站并删除功能
Nov 25 Javascript
JavaScript学习笔记整理_setTimeout的应用
Sep 19 Javascript
JS数组返回去重后数据的方法解析
Jan 03 Javascript
微信小程序 本地数据读取实例
Apr 27 Javascript
node中modules.exports与exports导出的区别
Jun 08 Javascript
解决Layui 表单提交数据为空的问题
Aug 15 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
Nov 14 Javascript
微信小程序实现购物车代码实例详解
Aug 29 Javascript
vue-cli3自动消除console.log()的调试信息方式
Oct 21 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
php的数组与字符串的转换函数整理汇总
2013/07/18 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
2014/06/13 PHP
Yii入门教程之Yii安装及hello world
2014/11/25 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
2017/02/15 PHP
PHP单元测试框架PHPUnit用法详解
2019/01/23 PHP
基于jquery的跨域调用文件
2010/11/19 Javascript
JQuery中判断一个元素下面是否有内容或者有某个标签的判断代码
2012/02/02 Javascript
HTML复选框和单选框 checkbox和radio事件介绍
2012/12/12 Javascript
THREE.JS入门教程(6)创建自己的全景图实现步骤
2013/01/25 Javascript
JQuery弹出层示例可自定义
2014/05/19 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
2015/11/24 Javascript
JavaScript必知必会(二) null 和undefined
2016/06/08 Javascript
Jquery组件easyUi实现选项卡切换示例
2016/08/23 Javascript
NodeJS使用formidable实现文件上传
2016/10/27 NodeJs
JS简单实现自定义右键菜单实例
2017/05/31 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
React中使用外部样式的3种方式(小结)
2019/05/28 Javascript
使用react context 实现vue插槽slot功能
2019/07/18 Javascript
vue实现滑动超出指定距离回顶部功能
2019/07/31 Javascript
JS基础之逻辑结构与循环操作示例
2020/01/19 Javascript
python中文乱码不着急,先看懂字节和字符
2017/12/20 Python
对Python3 goto 语句的使用方法详解
2019/02/16 Python
Python自动抢红包教程详解
2019/06/11 Python
解决python中使用PYQT时中文乱码问题
2019/06/17 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
Python drop方法删除列之inplace参数实例
2020/06/27 Python
python集合能干吗
2020/07/19 Python
如何利用cmp命令比较文件
2016/04/11 面试题
学术会议主持词
2014/03/17 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书
什么是执行力?9个故事告诉您:成功绝非偶然!
2019/07/05 职场文书
pandas中关于apply+lambda的应用
2022/02/28 Python
使用Ajax实现无刷新上传文件
2022/04/12 Javascript
彻底卸载VMware虚拟机的超详细步骤记录
2022/07/15 Servers