在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 不能释放内存.
Sep 07 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
Jun 05 Javascript
jQuery实现按钮只点击一次后就取消点击事件绑定的方法
Jun 26 Javascript
Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
Mar 23 Javascript
浅析Angular2子模块以及异步加载
Apr 24 Javascript
浅谈关于angularJs中使用$.ajax的注意点
Aug 12 Javascript
Bootstrap4 gulp 配置详解
Jan 06 Javascript
微信小程序实现卡片左右滑动效果的示例代码
May 01 Javascript
小程序如何在不同设备上自适应生成海报的实现方法
Aug 20 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
Oct 25 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
Sep 09 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
Sep 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文本数据库的搜索方法
2006/10/09 PHP
php获取网页内容方法总结
2008/12/04 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
laravel按天、按小时,查询数据的实例
2019/10/09 PHP
PHP调用接口API封装的例子
2019/10/11 PHP
JavaScript 学习 - 提高篇
2007/02/02 Javascript
javascript 实现父窗口引用弹出窗口的值的脚本
2007/08/07 Javascript
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
jquery获取一组checkbox的值(实例代码)
2013/11/04 Javascript
jqGrid日期格式的判断示例代码(开始日期与结束日期)
2013/11/08 Javascript
js快速排序的实现代码
2013/12/08 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
2015/08/27 Javascript
JavaScript小技巧整理篇(非常全)
2016/01/26 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
2017/08/14 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
node实现登录图片验证码的示例代码
2018/04/20 Javascript
JS实现前端页面的搜索功能
2018/06/12 Javascript
Vue.use源码学习小结
2018/06/20 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
2018/08/07 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
2020/03/31 Javascript
JavaScript接口实现方法实例分析
2020/05/16 Javascript
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
Python中生成Epoch的方法
2017/04/26 Python
Python使用三种方法实现PCA算法
2017/12/12 Python
wxpython绘制音频效果
2019/11/18 Python
使用OpenCV实现人脸图像卡通化的示例代码
2021/01/15 Python
波兰家居饰品和厨房配件网上商店:Maleomi
2020/12/15 全球购物
倡议书格式
2014/08/30 职场文书
世界文化遗产导游词
2015/02/13 职场文书
运动会广播稿20字
2015/08/19 职场文书
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android