在Javascript里访问SharePoint列表数据的实现方法

在SharePoint2010里有了很好的解决方案(详见拙文SharePoint客户端编程系列http://www.jb51.net/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/

(0)

相关推荐

  • sharepoint 2010版本图文安装教程

    软件程序:Microsoft Perject Server2010 Microsoft Share Point2010(中文版) 操作系统:windows server 2008 sp1 64位 数据库:SQL Server 2008 sp1 内存:最低8G 硬盘:200GB(硬盘太小后续会造成驱动器空间不足) 数据库:SQL Server 2008 sp1(需要存放在独立的服务器上运行) 安装Microsoft Perject Server2010 的前置条件是必须先成功安装且部署 Share

  • 解决asp.net Sharepoint无法连接发布自定义字符串处理程序,不能进行输出缓存处理的方法

    问题描述: 无法连接发布自定义字符串处理程序,不能进行输出缓存处理.IIS 实例 ID 为"1772638466", URL 为"http://XXXX.XXX.XXX/EnglishWorld/Default.aspx". 有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心. 在系统日志大片出现(除了URL不同),但貌似对系统没什么影响,能正常使用. 此问题不会影响正常使用,但日志很快就满了

  • 使用jQuery实现dropdownlist的联动效果(sharepoint 2007)

    使用场景,比如,选中某个省份,然后下级列表中会显示对应的城市. 1.使用Jquery-1.4.2.js和jquery.SPServices-0.5.7.js. 2.创建主表和子表,建立对应关系. 3.在List的NewItem或者EditItem page中添加Content Editor Webpart,然后在其中添加脚本代码. 4.实现, dropdownObj控件: cascadeDropdownObj控件(该控件是通过脚本附加的): 该方法是通过传入参数,来返回对于字表的记录 复制代码

  • SharePoint 客户端对象模型 (一) ECMA Script

    所谓的客户端对象模型就是调用了背后的WCF服务来提供数据,为了减轻数据的访问量数据包使用JSON,我们还可以看到对象模型的设计也加入了诸多对于减轻数据访问量的考量.技术上没有什么新意,你要愿意,在SharePoint2007里面也可以实现类似的功能,当然在使用上方便了我们不少  三种使用客户端模型的.NET托管.ECMA脚本,SilverLightClient. 本文讲阐述如何使用.NET托管代码来访问SharePoint对象模型. ECMAScript Client OM需要注意的几个点 EC

  • 删除 Windows SharePoint Services的三种方法

    可以用 HTML 管理或命令行管理工具从虚拟服务器中删除 Microsoft Windows SharePoint Services.这两种工具都可以在删除 Windows SharePoint Services 时保留或删除内容. 用 HTML 管理网页从虚拟服务器中删除 Windows SharePoint Services 单击"开始",指向"所有程序",再指向"管理工具",然后单击"SharePoint 管理中心". 

  • ASP.NET、SharePoint中另存文件的长文件名被截断的原因及解决办法

    一个Word文档,或者是什么文件,文件名称超过15个汉字,或者一定长度的字母之后,上传到文档库是没有问题的,但是如果你想下载,使用[右键]-[另存为],就会发现保存框的文件名一栏中,就剩下15个汉字了,其他的都被省略了. 我就开始寻找解决的办法,直接点击文件,默认会用客户端程序打开,例如word文档,会使用word打开,发现文件名是正常的,然后使用word的另存为,正常. 使用moss的资源管理器视图,从视图中直接复制文件出来,正常. 唯独另存不正常,以上都是在IE6的环境测试的. 上网goog

  • 在Javascript里访问SharePoint列表数据的实现方法

    在SharePoint2010里有了很好的解决方案(详见拙文SharePoint客户端编程系列http://www.jb51.net/article/27198.htm),但是在SharePoint2007里就没那么好用,具体问题具体分析,本文要解决的是如何在JavaScript里通过WebService访问SharePoint数据的问题. 首先需要从此处(http://darrenjohnstone.net/download/12)下载JavaScript API包 引用次JS,里面有两个库,

  • JavaScript实现动态删除列表框值的方法

    本文实例讲述了JavaScript实现动态删除列表框值的方法.分享给大家供大家参考.具体如下: 使用JavaScript 动态删除列表框中的值,实际运用中可能效果会比较复杂,这只是一个基本功能单元,很多都是在此基础上扩展而来,运行代码点击"删除",会将列表框中的值一一删除,只保留一项数据. 运行效果截图如下: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "

  • Javascript里的两种使用正则的方法

    在Javascript里,有两种使用正则的方法,一是创建一个正则表达式的实例,而是使用String对象里的正则表达相关的方法. 正则表达式对象 两种创建方法 var my_regex=/[a-z]+/g;  var my_regex=new ("[a-z]+","g"); 方法 exec(string),对string进行正则处理,并返回匹配结果.  test(string),测试string是否含有匹配结果 字符串对象中的正则 方法 match(pattern) 

  • 在JavaScript里嵌入大量字符串常量的实现方法

    数量少还好,多的话就密密麻麻的一坨文字,讲究美观的文艺青年们,会用大量的字符连接符号甚至加上缩进,强制换成好几行.例如: 复制代码 代码如下: var html =    '<div>' +        '<p>Hello</p>' +        '<p>World'</p>' +    '</div>'; 这还好,要是字符串里有不少双引号单引号,那就更麻烦了,各种转义字符看的眼花缭乱. 其实有个不怎么起眼的小技巧,就能解决这个

  • 利用正则表达式抓取博客园列表数据

    鉴于我在要完成的asp.net MVC 3 仿照博客园企业系统要用到测试数据,我自己输入太累,所以我就抓取了博客园的部分列表数据,还请dudu不要见怪. 在抓取博客园数据的时候采用了正则表达式,所以有不熟悉正则表达式的朋友可以参考相关资料,其实很容易掌握,就是在具体的实例中会花些时间. 现在我就来把我抓取博客园数据的过程叙述一下,如果有朋友有更好的意见,欢迎提出来. 要使用正则表达式抓取数据,首先就要创建一个正则表达式进行匹配,我推荐使用regulator,这个正则表达式工具,我们可以先使用这个

  • 微信小程序 获取javascript 里的数据

    微信小程序 获取javascript 里的数据 wxml如何获取js里的数据 例: wxml里: <text id="twl">{{txt}}</text> 通过上面的{{txt}}可以对应获取js里data下定义的txt的值 js里: data: { txt:{} } 首先在data里定义一个"容器"txt:{},{}内为空代表是从别的地方传值进去,当然{}里也可以直接写数据,如txt:{'123'},上面的wxml获取了就相当于 <

  • JavaScript控制两个列表框listbox左右交换数据的方法

    本文实例讲述了JavaScript控制两个列表框listbox左右交换数据的方法.分享给大家供大家参考.具体分析如下: 这个功能我们经常用到,将左边列表框的元素移动到右边,或者将右边列表框的元素移动到左边,可以一次性全部移动 复制代码 代码如下: function listbox_moveacross(sourceID, destID) {     var src = document.getElementById(sourceID);     var dest = document.getEl

  • 怎样在JavaScript里写一个swing把数据插入数据库

    最终的目标是想这样的,在JavaScript里写一个swing来实现确定取消,来决定是否执行这个功能的,但是在执行的过程中,出现了一点问题,每次执行时,都是直接就会插入把数据插入数据库,不能控制了,想要知道应该怎样来解决这个问题,详情要参考下面的代码详情: 复制代码 代码如下: <% boolean foo=false; if (((theqingjiadays<3)&&(thetiqiandays>=1))||((theqingjiadays<10) &&

  • js实现提交前对列表数据的增删改查

    js实现列表数据的增删改查,AJAX提交后,js操作数据 最近工作中,有一处列表数据是页面初始化加载的,用户可以进行操作,因为这些数据并不存在数据库中,同时为了数据的整洁以及高效,所以要在页面进行增删改操作(其实查也可以,类似改),之前写过一个二维数组保存的,代码乱而且效率不高,后改用object 感觉还可以,主要是查询和删除的时候不需要自己遍历数组. 1. html 列表是用div+ul标签弄的,贴一些用到的片段 1.1 要展示的列表 <div class="tab">

  • javascript解析json格式的数据方法详解

    JSON (JavaScript Object Notation)是一种简单的数据格式,比xml更轻巧. 它是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包.那么如何用JavaScript来解析json呢? 首先,科普一下json.在json中,有两种结构:对象和数组. 一个对象以"{"(左括号)开始,"}"(右括号)结束.每个"名称"后跟一个":"

随机推荐