Content Editor Webpart(三)使用JSOM

时间:2022-03-23 15:05:07

JSOM是SharePoint 提供的一种clientAPI。开发者仅仅须要使用Javescript。就能够实现和SharePoint的交互。很方便。

首先依照 (Content Editor Webpart(一)引用JQuery) 中的说明,引入JQuery。然后在Content Editor中加入代码。

比方要获取site的title 和description。

function retrieveWebSite(siteUrl) {
var clientContext = new SP.ClientContext(siteUrl);
this.oWebsite = clientContext.get_web(); clientContext.load(this.oWebsite); clientContext.executeQueryAsync(
Function.createDelegate(this, this.onQuerySucceeded),
Function.createDelegate(this, this.onQueryFailed)
);
}

和Server OM不同的是,clientOM。必需要先调用Load方法。再调用execute方法。才去与server交互。executeQueryAsync方法,定义了两个事件,一个是处理成功的情况,一个处理失败的情况。

比方,成功情况的处理函数为:

function onQuerySucceeded(sender, args) {
alert('Title: ' + this.oWebsite.get_title() +
' Description: ' + this.oWebsite.get_description());
}

完毕的代码例如以下:

<div style="height: 200px;">
<script type="text/javascript" src="/sites/apps/Style%20Library/jquery-1.10.2.min.js"></script><script> function retrieveWebSite(siteUrl) {
var clientContext = new SP.ClientContext(siteUrl);
this.oWebsite = clientContext.get_web(); clientContext.load(this.oWebsite); clientContext.executeQueryAsync(
Function.createDelegate(this, this.onQuerySucceeded),
Function.createDelegate(this, this.onQueryFailed)
);
} function onQuerySucceeded(sender, args) {
alert('Title: ' + this.oWebsite.get_title() +
' Description: ' + this.oWebsite.get_description());
} function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() +
'\n' + args.get_stackTrace());
}
</script>
<button id="#getInfo" onclick="retrieveWebSite(‘https://server/sites/site/internal’)">Get Site Info </button></div>

做完之后的效果:

Content Editor Webpart(三)使用JSOM

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU1BGYXJt/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">