在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 相关文章推荐
js 判断一个元素是否在页面中存在
Dec 27 Javascript
批量实现面向对象的实例代码
Jul 01 Javascript
JS获取年月日时分秒的方法分析
Nov 28 Javascript
js中创建对象的几种方式
Feb 05 Javascript
利用JavaScript的%做隔行换色的实例
Nov 25 Javascript
JavaScript实现简单动态进度条效果
Apr 06 Javascript
Vue.js特性Scoped Slots的浅析
Feb 20 Javascript
layer扩展打开/关闭动画的方法
Sep 23 Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
Jul 28 Javascript
js实现直播点击飘心效果
Aug 19 Javascript
uin-app+mockjs实现本地数据模拟
Aug 26 Javascript
Vue中computed和watch有哪些区别
Dec 19 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
星际争霸 Starcraft 发展史
2020/03/14 星际争霸
Symfony2创建页面实例详解
2016/03/18 PHP
PHP实现通过CURL上传文件功能示例
2018/05/30 PHP
多浏览器支持的右下角浮动窗口
2010/04/01 Javascript
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
js中function()使用方法
2013/12/24 Javascript
setInterval计时器不准的问题解决方法
2014/05/08 Javascript
用html+css+js实现的一个简单的图片切换特效
2014/05/28 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
2015/08/31 Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
2015/11/17 Javascript
nodejs 实现钉钉ISV接入的加密解密方法
2017/01/16 NodeJs
详解基于Vue+Koa的pm2配置
2017/10/24 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
使用veloticy-ui生成文字动画效果
2018/02/08 Javascript
使用Vue制作图片轮播组件思路详解
2018/03/21 Javascript
详解vue-element Tree树形控件填坑路
2019/03/26 Javascript
详解JavaScript的内存空间、赋值和深浅拷贝
2019/04/17 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
element-ui表格合并span-method的实现方法
2019/05/21 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
javascript实现倒计时关闭广告
2021/02/09 Javascript
[42:32]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第二场 10.28
2020/10/28 DOTA
Python编程中字符串和列表的基本知识讲解
2015/10/14 Python
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
如何安装2019Pycharm最新版本(详细教程)
2019/09/26 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
2020/02/26 Python
澳大利亚墨水站Ink Station:墨水和碳粉打印机墨盒
2019/03/24 全球购物
材料化学应届生求职信
2013/10/09 职场文书
教师的实习鉴定
2013/12/15 职场文书
仓库保管员岗位职责
2013/12/20 职场文书
生日庆典策划方案
2014/06/02 职场文书
学校安全工作汇报材料
2014/08/16 职场文书
小学记事作文之200字
2019/08/06 职场文书
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
2021/04/03 Javascript