Get HostWeb URL through JavaScript object model:
Just do copy/paste the below code and execute it.
Note: The below shared code is 100% verified/executed.
Please reach the below post URL to get the hostweb url through REST service
http://sharepointquicksolutions.blogspot.com/2016/12/get-sharepoint-host-web-url-using-rest.html
Appmanifest.xml:
Set read level permisisons to the web
Default.aspx:
<p id="getHostWebURL"> </p>
App.js
'use strict';
var hostweburl, appweburl;
var website;
$(document).ready(function () {
appweburl = window.location.protocol + "//" + window.location.host + _spPageContextInfo.webServerRelativeUrl;
hostweburl = _spPageContextInfo.siteAbsoluteUrl;
//hostweburl = decodeURIComponent(getQueryStringParameter("SPHostUrl"));
//appweburl = decodeURIComponent(getQueryStringParameter("SPAppWebUrl"));
var scriptbase = hostweburl + "/_layouts/15/";
$.getScript(scriptbase + "SP.Runtime.js",
function () {
$.getScript(scriptbase + "SP.js", retrieveListItems);
}
);
});
// Function to retrieve a query string value.
// For production purposes you may want to use
// a library to handle the query string.
function getQueryStringParameter(paramToRetrieve) {
var params =
document.URL.split("?")[1].split("&");
var strParams = "";
for (var i = 0; i < params.length; i = i + 1) {
var singleParam = params[i].split("=");
if (singleParam[0] == paramToRetrieve)
return singleParam[1];
}
}
function retrieveListItems() {
var context = new SP.ClientContext(appweburl);
var appContextSite = new SP.AppContextSite(context, hostweburl);
website = appContextSite.get_web();
context.load(website);
context.executeQueryAsync(onGetWebSuccess, onGetWebFail);
//the remaining code is omitted for clarity
}
function onGetWebSuccess() {
alert("calling" + website.get_title());
$('#getHostWebURL').text("The title of the host web of this app is " + website.get_title());
}
function onGetWebFail(sender, args) {
alert('Failed to get lists. Error:' + args.get_message());
}
No comments:
Post a Comment