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() + 
        '\n' + 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

posted on 2019-02-20 14:18  赢在当下_Victor  阅读(782)  评论(0编辑  收藏  举报

导航