在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 命名规则 变量命名规则
Feb 25 Javascript
关于flash遮盖div浮动层的解决方法
Jul 17 Javascript
JS实现图片翻书效果示例代码
Sep 09 Javascript
浅析JavaScript中的隐式类型转换
Dec 05 Javascript
改变隐藏的input中value的值代码
Dec 30 Javascript
node.js中的fs.readlinkSync方法使用说明
Dec 17 Javascript
js获取页面description的方法
May 21 Javascript
Webwork 实现文件上传下载代码详解
Feb 02 Javascript
Vue实例简单方法介绍
Jan 20 Javascript
Vue组件之全局组件与局部组件的使用详解
Oct 09 Javascript
基于vue2实现上拉加载功能
Nov 28 Javascript
vue+element ui实现锚点定位
Jun 29 Vue.js
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
PHILIPS D1835/D1875的电路分析与打理
2021/03/02 无线电
php连接mssql数据库的几种方法
2013/02/21 PHP
简单的php+mysql聊天室实现方法(附源码)
2016/01/05 PHP
随机显示经典句子或诗歌的javascript脚本
2007/08/04 Javascript
javascript实现的网页局布刷新效果
2008/12/01 Javascript
JavaScript写的一个自定义弹出式对话框代码
2010/01/17 Javascript
jquery 元素相对定位代码
2010/10/15 Javascript
textarea 控制输入字符字节数(示例代码)
2013/12/27 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
NodeJS制作爬虫全过程(续)
2014/12/22 NodeJs
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
js中变量的连续赋值(实例讲解)
2017/07/08 Javascript
Vue 样式绑定的实现方法
2019/01/15 Javascript
Node.js事件的正确使用方法
2019/04/05 Javascript
原理深度解析Vue的响应式更新比React快
2020/04/04 Javascript
初步探究Python程序的执行原理
2015/04/11 Python
Python爬虫之模拟知乎登录的方法教程
2017/05/25 Python
不可错过的十本Python好书
2017/07/06 Python
tornado 多进程模式解析
2018/01/15 Python
我用Python抓取了7000 多本电子书案例详解
2019/03/25 Python
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
美国新娘礼品店:The Paisley Box
2020/09/08 全球购物
Jowissa官方网站:瑞士制造的手表,优雅简约的设计
2020/07/29 全球购物
怎样声明一个匿名的内部类
2016/06/01 面试题
小学生新学期寄语
2014/01/19 职场文书
心理健康课教学反思
2014/02/13 职场文书
致100米运动员广播稿
2014/02/14 职场文书
公司副总经理任命书
2014/06/05 职场文书
企业宗旨标语
2014/06/10 职场文书
党的群众路线教育实践活动对照检查材料
2014/09/22 职场文书
大学生考试作弊检讨书1000字
2014/10/14 职场文书
民主评议党员工作总结
2014/10/20 职场文书
《狼牙山五壮士》读后感:宁死不屈,视死如归
2019/08/16 职场文书
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python