- 引用 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