Retrieve all Content type from app Host web using JSOM

In this blog I would like to share code to get the content type collection from APP host web in SharePoint Hosted app using JavaScript Object Model.

  1. var ctx;  
  2. var appCtxSite;  
  3. var contentTypeCollection;  
  4. var contentType;  
  5. var hostWebURL;  
  6. var appWebURL;  
  7. var contentTypeName;  
  8. var ContentTypeID;`  
  9. var ContentTypeEnumerator;  
  10.   
  11.   
  12. $(document).ready(function () {  
  13. // debugger;  
  14. //// Get the URI decoded URLs.  
  15. hostWebUrl = decodeURIComponent(manageQueryStringParameter('SPHostUrl'));  
  16. appWebUrl = decodeURIComponent(manageQueryStringParameter('SPAppWebUrl'));  
  17. //calling the getHostWeb method in ready function to get content type on when page is ready  
  18. getHostWeb();  
  19. });  
  20.   
  21.   
  22. //This function is used to get the hostweb url  
  23. function manageQueryStringParameter(paramToRetrieve)
  24. {  
  25.    var params = document.URL.split("?")[1].split("&");  
  26.    var strParams = "";  
  27.    for (var i = 0; i < params.length; i = i + 1) 
  28.    {  
  29.       var singleParam = params[i].split("=");  
  30.       if (singleParam[0] == paramToRetrieve) 
  31.       {  
  32.          return singleParam[1];  
  33.       }  
  34.    }  
  35. }  
  36.   
  37. //get the list data from host web  
  38. function getHostWeb() 
  39. {  
  40.    //get current app web context  
  41.    ctx = new SP.ClientContext(appWebUrl);  
  42.    //get current host web context  
  43.    appCtxSite = new SP.AppContextSite(ctx, hostWebUrl);  
  44.    //get current host web  
  45.    if (ctx != undefined && ctx != null)
  46.    {  
  47.       web = appCtxSite.get_web();  
  48.    }  
  49.    //// .load() tells CSOM to load the properties of this object  
  50.    ctx.load(web);  
  51.    ctx.executeQueryAsync(getContentTypeCollection, onQueryFailed);  
  52.   
  53.  
  54. function getContentTypeCollection() 
  55. {  
  56.    //Get all content types from current app host web  
  57.    contentTypeCollection = web.get_contentTypes();  
  58.    //load the content type collection  
  59.    ctx.load(contentTypeCollection);  
  60.    ctx.executeQueryAsync(getallContentType, onQueryFailed);  
  61. }  
  62.   
  63. function getallContentType() 
  64. {  
  65.    ContentTypeEnumerator = contentTypeCollection.getEnumerator();  
  66.    var count = contentTypeCollection.get_count();  
  67.    if (count > 0)
  68.    {  
  69.       //Get content type one by one  
  70.       while (ContentTypeEnumerator.moveNext())   
  71.       {  
  72.          contentType = ContentTypeEnumerator.get_current();  
  73.          contentTypeName = contentType.get_name();  
  74.          alert(contentTypeName);  
  75.       }  
  76.    }  
  77. }  
  78.   
  79. function onQueryFailed(sender, args) 
  80. {  
  81.    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());  
  82. }  
Summary

In this blog we have explored how to get the all content types from SharePoint Hosted web using JavaScript Object Model.

Happy Coding
Ebook Download
View all
Learn
View all