zoukankan      html  css  js  c++  java
  • sharepoint Jsom一些基本操作

    • 引用 Microsoft CDN 中的 AJAX 库。
    • 通过使用相对于加载项 Web 的 URL 引用 SP.Runtime.js 文件。
    • 通过使用加载项 Web 相关 URL 引用 SP.js 文件。
      <script 
          src="//ajax.aspnetcdn.com/ajax/4.0/1/MicrosoftAjax.js" 
           type="text/javascript">
      </script>
      <script 
         type="text/javascript" 
          src="/_layouts/15/sp.runtime.js">
      </script>
      <script 
          type="text/javascript" 
          src="/_layouts/15/sp.js">
      </script>
      <script type="text/javascript">
      
          // Continue your program flow here.
      
      </script>

    1.添加新项目

    var ctx = SP.ClientContext.get_current(); //var clientContext = new SP.ClientContext("siteUrl")
    var list = ctx.get_web().get_lists().getByTitle(listTitle);
    var itemCreateInfo = new SP.ListItemCreationInformation();
    var newItem = list.addItem(itemCreateInfo);
    newItem.set_item("internalName","value");
    newItem.update();

    2.更新项目

    //修改网站属性
    var clientContext = new SP.ClientContext(siteUrl);
    var oWebsite = clientContext.get_web();
    oWebsite.set_title('Updated Web Site');
    oWebsite.set_description('This is an updated website.');
    oWebsite.update();

    //修改列表项属性
    var
    ctx = SP.ClientContext.get_current(); list = ctx.get_web().get_lists().getByTitle(listTitle); listItem = list.getItemById(ID); listItem.set_item("internalName","value"); listItem.update();

    3.删除项目

    listItem.deleteObject();

    4.获取项目

    var ctx = SP.ClientContext.get_current();
    var list = ctx.get_web().get_lists().getByTitle(listTitle);
    //var oListItem=list.getItems(SP.CamlQuery.createAllItemsQuery()); 或者 list.getItems("<View><Query></Query></View>");

     var query= new SP.CamlQuery();
     query.set_viewXML("<View><Query><Where><Eq><FieldRef Name="Title"/><Value Type="Text">Test</Value></Eq></Where></Query></View>");
     var listItems=list.getItems(query);
     ctx.load(listItems);

      //为了减少客户端和服务器之间不必要的数据传输,仅返回网站对象的指定属性
      //ctx.load(listItems,'Title','Created');
      //ctx.load(listItems,'Include(Title, Created)');
     ctx.executeQueryAsync(function(){
        var enumerator=listItems.getEnumerator();
        while(enumerator.moveNext())
        {
          var currentItem=enumerator.get_current();
          //业务操作
        }

      },function(){
          //错误信息
      });

    5.读取项目

    listItem.get_item("internalName");

    6.获取用户信息

    var ctx = SP.ClientContext.get_current();
    var web = ctx.get_web();
    var user=web.get_siteUsers().getById(userId);//user = web.get_currentUser();
    ctx.load(user);
    ctx.executeQueryAsync(function () {
       ctx.executeQueryAsync(function () {
                    user.id = user.get_id();
                    user.email = user.get_email();
                    user.isSiteAdmin = user.get_isSiteAdmin();
                    user.isHiddenInUI = user.get_isHiddenInUI();
                    user.loginName = user.get_loginName();
                    user.principalType = user.get_principalType();
                    user.title = user.get_title();
                    callback(user);
                }, function (sender, args) {
                    logJSOMQueryError(sender, args);
                    callback(null);
                });
    
    --------------------- 
    作者:zhoulu_hp 
    来源:CSDN 
    原文:https://blog.csdn.net/zhoulu001/article/details/51096354 
    版权声明:本文为博主原创文章,转载请附上博文链接!                 

    7.loadQuery(clientObjectCollection, exp) 方法可以将返回值存储在另一集合中

    function retrieveSpecificListPropertiesToCollection(siteUrl) {
        var clientContext = new SP.ClientContext(siteUrl);
        var oWebsite = clientContext.get_web();
        var collList = oWebsite.get_lists();
    
        this.listInfoCollection = clientContext.loadQuery(collList, 'Include(Title, Id)');
        clientContext.executeQueryAsync(
            Function.createDelegate(this, this.onQuerySucceeded), 
            Function.createDelegate(this, this.onQueryFailed)
        );
    }
    
    function onQuerySucceeded() {
        var listInfo = '';
    
        for (var i = 0; i < this.listInfoCollection.length; i++) {
            var oList = this.listInfoCollection[i];
            listInfo += 'Title: ' + oList.get_title() + 
                ' ID: ' + oList.get_id().toString();
        }
        alert(listInfo.toString());
    }
    
    function onQueryFailed(sender, args) {
        alert('Request failed. ' + args.get_message() + 
            '
    ' + args.get_stackTrace());
    }

    8.创建列表

     var clientContext = new SP.ClientContext(siteUrl);
     var oWebsite = clientContext.get_web();
     var listCreationInfo = new SP.ListCreationInformation();
     listCreationInfo.set_title('My Announcements List');
     listCreationInfo.set_templateType(SP.ListTemplateType.announcements);
     this.oList = oWebsite.get_lists().add(listCreationInfo);
     clientContext.load(oList);

    9.创建文件夹

        clientContext = new SP.ClientContext.get_current();
        oWebsite = clientContext.get_web();
        oList = oWebsite.get_lists().getByTitle("Shared Documents");
    
        itemCreateInfo = new SP.ListItemCreationInformation();
        itemCreateInfo.set_underlyingObjectType(SP.FileSystemObjectType.folder);
        itemCreateInfo.set_leafName("new folder");
        this.oListItem = oList.addItem(itemCreateInfo);
        this.oListItem.set_item("Title", "Infomation");
        this.oListItem.update();

    更多详情可以参考:https://blog.csdn.net/zhoulu001/article/details/51096354
    JSOM: https://docs.microsoft.com/zh-cn/sharepoint/dev/sp-add-ins/complete-basic-operations-using-javascript-library-code-in-sharepoint
    CSOM: https://docs.microsoft.com/zh-cn/sharepoint/dev/sp-add-ins/complete-basic-operations-using-sharepoint-client-library-code

    MicrosoftAjax.js

  • 相关阅读:
    junit4+spring3.0.4.RELEASE测试单元基本实现
    PL/SQL 报错Dynamic Performance Tables not accessible XXX
    Oracle简单建立表空间
    R语言实现统计 plink格式数据位点缺失率
    linux shell实现统计 位点缺失率
    linux shell 统计plink格式样本缺失率
    Rstudio如何设置默认的工作路径
    如何在dos窗口中执行R脚本
    syntax error: unexpected end of file
    R语言如何删除目录下同一类型的文件、或者所有文件
  • 原文地址:https://www.cnblogs.com/learning-life/p/10406333.html
Copyright © 2011-2022 走看看