在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的投票系统显示结果插件
Aug 12 Javascript
JS使用replace()方法和正则表达式进行字符串的搜索与替换实例
Apr 10 Javascript
jquery使用remove()方法删除指定class子元素
Mar 26 Javascript
JS返回iframe中frameBorder属性值的方法
Apr 01 Javascript
Bootstrap 布局组件(全)
Jul 18 Javascript
AngularJs 国际化(I18n/L10n)详解
Sep 01 Javascript
jquery实现限制textarea输入字数的方法
Sep 06 jQuery
在vue 中使用 less的教程详解
Sep 26 Javascript
微信小程序实现星级评价效果
Dec 28 Javascript
JavaScript使用Math.random()生成简单的验证码
Jan 21 Javascript
基于vue手写tree插件的那点事儿
Aug 20 Javascript
使用vue-router切换页面时实现设置过渡动画
Oct 31 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
解决laravel 出现ajax请求419(unknown status)的问题
2019/09/03 PHP
select组合框option的捕捉实例代码
2008/09/30 Javascript
js setattribute批量设置css样式
2009/11/26 Javascript
JavaScript类库D
2010/10/24 Javascript
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
javascript实现简单的省市区三级联动
2015/05/14 Javascript
JS实现Fisheye效果动感放大菜单代码
2015/10/21 Javascript
鼠标悬停小图标显示大图标
2016/01/22 Javascript
使用jQuery操作HTML的table表格的实例解析
2016/03/13 Javascript
JS实现的表格行上下移动操作示例
2016/08/03 Javascript
Bootstrap CSS组件之导航条(navbar)
2016/12/17 Javascript
angular实现页面打印局部功能的思考与方法
2018/04/13 Javascript
vue+webpack实现异步加载三种用法示例详解
2018/04/24 Javascript
微信小程序实现无限滚动列表
2020/05/29 Javascript
基于vue实现探探滑动组件功能
2020/05/29 Javascript
用Python写一个无界面的2048小游戏
2016/05/24 Python
非递归的输出1-N的全排列实例(推荐)
2017/04/11 Python
浅析python协程相关概念
2018/01/20 Python
Python3之简单搭建自带服务器的实例讲解
2018/06/04 Python
Python中文件的写入读取以及附加文字方法
2019/01/23 Python
Python分布式进程中你会遇到的问题解析
2019/05/28 Python
tensorflow将图片保存为tfrecord和tfrecord的读取方式
2020/02/17 Python
Python图像处理库PIL的ImageDraw模块介绍详解
2020/02/26 Python
Python函数基本使用原理详解
2020/03/19 Python
Python操作Elasticsearch处理timeout超时
2020/07/17 Python
使用python操作lmdb对数据读取的实例
2020/12/11 Python
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
2014/10/31 面试题
大学生的创业计划书就该这么写
2014/01/30 职场文书
责任心演讲稿
2014/05/14 职场文书
美术课外活动总结
2014/07/08 职场文书
小学五一劳动节活动总结
2015/02/09 职场文书
检察院起诉意见书
2015/05/20 职场文书
怎样写工作总结啊!
2019/06/18 职场文书
关于Python中*args和**kwargs的深入理解
2021/08/07 Python
golang实现一个简单的websocket聊天室功能
2021/10/05 Golang
python自动化测试之Selenium详解
2022/03/13 Python