zoukankan      html  css  js  c++  java
  • 如何在Javascript里访问SharePoint列表数据

    在进行SharePoint订制的时候经常会遇到开发手段受限制的问题,比如通常公司都会限制服务器的访问以及部署,很多开发都只能够在客户端来进行。在SharePoint2010里有了很好的解决方案(详见拙文SharePoint客户端编程系列http://www.cnblogs.com/johnsonwong/archive/2011/05/13/2044993.html),但是在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/

  • 相关阅读:
    DS博客作业04--图
    DS博客作业03--树
    DS博客作业02--栈和队列
    DS01-线性表
    c博客06-结构体&文件
    C博客作业05--指针
    123
    面向对象设计大作业
    购物车
    有理数类的设计
  • 原文地址:https://www.cnblogs.com/johnsonwong/p/2053681.html
Copyright © 2011-2022 走看看