在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 相关文章推荐
chrome浏览器不支持onmouseleave事件的解决技巧
May 31 Javascript
IE8下String的Trim()方法失效的解决方法
Nov 08 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
Feb 20 Javascript
js实现的Easy Tabs选项卡用法实例
Sep 06 Javascript
jquery采用oop模式class类的使用示例
Jan 22 Javascript
Node.js连接MongoDB数据库产生的问题
Feb 08 Javascript
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
Jun 20 Javascript
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
Dec 12 Javascript
详解vue-admin和后端(flask)分离结合的例子
Feb 12 Javascript
security.js实现的RSA加密功能示例
Jun 06 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
Jul 23 Javascript
vue实现倒计时获取验证码效果
Apr 17 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
基于qmail的完整WEBMAIL解决方案安装详解
2006/10/09 PHP
有关PHP中MVC的开发经验分享
2012/05/17 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
使用PHP免费发送定时短信的实例
2016/10/24 PHP
Redis在Laravel项目中的应用实例详解
2017/08/11 PHP
PHPExcel实现的读取多工作表操作示例
2020/04/14 PHP
获取DOM对象的几种扩展及简写
2006/10/09 Javascript
javascript管中窥豹 形参与实参浅析
2011/12/17 Javascript
JS动态调用方法名示例介绍
2013/12/18 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
jQuery.holdReady()方法用法实例
2014/12/27 Javascript
js获取页面及个元素高度、宽度的代码
2016/04/26 Javascript
聊一聊Vue.js过渡效果
2016/09/07 Javascript
javascript 显示全局变量与隐式全局变量的区别
2017/02/09 Javascript
jstree单选功能的实现方法
2017/06/07 Javascript
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
JS实现网站楼层导航效果代码实例
2020/06/16 Javascript
[02:20]DOTA2亚洲邀请赛 IG战队出场宣传片
2015/02/07 DOTA
[02:43]2018DOTA2亚洲邀请赛主赛事首日TOP5
2018/04/04 DOTA
在Python中使用next()方法操作文件的教程
2015/05/24 Python
在Lighttpd服务器中运行Django应用的方法
2015/07/22 Python
详解Django框架中的视图级缓存
2015/07/23 Python
python 不以科学计数法输出的方法
2018/07/16 Python
用Python实现最速下降法求极值的方法
2019/07/10 Python
Apache部署Django项目图文详解
2019/07/30 Python
Python实现CAN报文转换工具教程
2020/05/05 Python
使用py-spy解决scrapy卡死的问题方法
2020/09/29 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
2020/11/20 Python
美国求婚钻戒网站:Super Jeweler
2016/08/27 全球购物
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
2012/12/13 面试题
应用心理学个人求职信范文
2013/12/11 职场文书
公司总经理岗位职责范本
2014/08/15 职场文书
春节慰问信范文
2015/02/15 职场文书
信贷客户经理岗位职责
2015/04/09 职场文书
教你一步步实现一个简易promise
2021/11/02 Javascript