在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 相关文章推荐
javascript iframe编程相关代码
Dec 28 Javascript
cookie的复制与使用记住用户名实现代码
Nov 04 Javascript
JavaScript初学者建议:不要去管浏览器兼容
Feb 04 Javascript
Clipboard.js 无需Flash的JavaScript复制粘贴库
Oct 02 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
Nov 18 Javascript
浅谈JavaScript中变量和函数声明的提升
Aug 09 Javascript
jQuery实现的tab标签切换效果示例
Sep 05 Javascript
jquery实现全选、不选、反选的两种方法
Sep 06 Javascript
Vue.js每天必学之组件与组件间的通信
Sep 08 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
Nov 28 Javascript
解决vue项目报错webpackJsonp is not defined问题
Mar 14 Javascript
jQuery 操作 HTML 元素和属性的方法
Nov 12 jQuery
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
在wamp集成环境下升级php版本(实现方法)
2013/07/01 PHP
Mac环境下php操作mysql数据库的方法分享
2015/05/11 PHP
Linux系统下PHP-FPM的安装和配置教程
2015/08/17 PHP
使用PHP实现生成HTML静态页面
2015/11/18 PHP
微信红包随机生成算法php版
2016/07/21 PHP
PHP中仿制 ecshop验证码实例
2017/01/06 PHP
Laravel中错误与异常处理的用法示例
2018/09/16 PHP
JavaScript 异步方法队列链实现代码分析
2010/06/05 Javascript
jQuery模拟点击A标记示例参考
2014/04/17 Javascript
js判断登录与否并确定跳转页面的方法
2015/01/30 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
2018/01/26 Javascript
Vue中使用webpack别名的方法实例详解
2018/06/19 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
jquery使用FormData实现异步上传文件
2018/10/25 jQuery
python使用Image处理图片常用技巧分析
2015/06/01 Python
详解Python的Django框架中的Cookie相关处理
2015/07/22 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
2018/05/10 Python
python 自定义异常和异常捕捉的方法
2018/10/18 Python
对Python3 解析html的几种操作方式小结
2019/02/16 Python
Python3.5实现的罗马数字转换成整数功能示例
2019/02/25 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
Django自关联实现多级联动查询实例
2020/05/19 Python
Python自带的IDE在哪里
2020/07/01 Python
python中pathlib模块的基本用法与总结
2020/08/17 Python
html5利用canvas绘画二级树形结构图的示例
2017/09/27 HTML / CSS
html5自动播放mov格式视频的实例代码
2020/01/14 HTML / CSS
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
2014年小学工作总结
2014/11/26 职场文书
银行稽核岗位职责
2015/04/13 职场文书
同事去世追悼词
2015/06/23 职场文书
《秋天的怀念》教学反思
2016/02/17 职场文书
详解Mysql和Oracle之间的误区
2021/05/18 MySQL
Python实现简单的猜单词
2021/06/15 Python
Python可视化学习之seaborn调色盘
2022/02/24 Python