Tuesday, June 5, 2018

CRUD Operations using Rest API

To Retrieve the items

  1. function retriveListItem()  
  2. {  
  3.     var def = $.Deferred();
  4.     $.ajax  
  5.     ({  
  6.         url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('testlist')/items?$select=Company,Industry",  
  7.         type: type,  
  8.         data: data,  
  9.         headers:  
  10.         {  
  11.             "Accept""application/json;odata=verbose",  
  12.             "Content-Type""application/json;odata=verbose",  
  13.             "X-RequestDigest": $("#__REQUESTDIGEST").val(),  
  14.             "IF-MATCH""*",  
  15.             "X-HTTP-Method"null  
  16.         },  
  17.         cache: false,  
  18.         success: function(data)   
  19.         {  
  20.             def.resolve();
  21.             $("#ResultDiv").empty();  
  22.             for (var i = 0; i < data.d.results.length; i++)   
  23.             {  
  24.                 var item = data.d.results[i];  
  25.                 $("#ResultDiv").append(item.Company + "\t" + item.Industry + "<br/>");  
  26.             }  
  27.         },  
  28.         error: function(data)  
  29.         {  
  30.             $("#ResultDiv").empty().text(data.responseJSON.error);  
  31.         }  
  32.     });  
  33.     return def.promise();
  34. }  

To Create list item

  1. function AddListItem()  
  2. {  
  3.     var def = $.Deferred();
  4.     var industryVal = $("#Industry").val();  
  5.     var Company = $("#Company").val();  
  6.     $.ajax  
  7.         ({  
  8.         url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('testlist')/items",  
  9.         type: "POST",  
  10.         data: JSON.stringify  
  11.         ({  
  12.             __metadata:  
  13.             {  
  14.                 type: "SP.Data.TestListItem"  
  15.             },  
  16.             Company: Company,  
  17.             Industry: industryVal  
  18.         }),  
  19.         headers:  
  20.         {  
  21.             "Accept""application/json;odata=verbose",  
  22.             "Content-Type""application/json;odata=verbose",  
  23.             "X-RequestDigest": $("#__REQUESTDIGEST").val(),  
  24.             "X-HTTP-Method""POST"  
  25.         },  
  26.         success: function(data, status, xhr)  
  27.         {  
  28.             def.resolve();
  29.         },  
  30.         error: function(xhr, status, error)  
  31.         {  
  32.             $("#ResultDiv").empty().text(data.responseJSON.error);  
  33.         }  
  34.     });  
  35.     return def.promise();
  36. }  

To Update list item

  1. function updateListItem()  
  2. {  
  3.     var def = $.Deferred();
  4.     var industryVal = $("#Industry").val();  
  5.     $.ajax  
  6.     ({  
  7.         url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('testlist')/items(7)"// list item ID  
  8.         type: "POST",  
  9.         data: JSON.stringify  
  10.         ({  
  11.             __metadata:  
  12.             {  
  13.                 type: "SP.Data.TestListItem"  
  14.             },  
  15.             Industry: industryVal  
  16.         }),  
  17.         headers:  
  18.         {  
  19.             "Accept""application/json;odata=verbose",  
  20.             "Content-Type""application/json;odata=verbose",  
  21.             "X-RequestDigest": $("#__REQUESTDIGEST").val(),  
  22.             "IF-MATCH""*",  
  23.             "X-HTTP-Method""MERGE"  
  24.         },  
  25.         success: function(data, status, xhr)  
  26.         { 
  27.             def.resolve(); 
  28.         },  
  29.         error: function(xhr, status, error)  
  30.         {  
  31.             $("#ResultDiv").empty().text(data.responseJSON.error);  
  32.         }  
  33.     });  
  34.     return def.promise();
  35. }


To Delete list item

  1. function deleteListItem()  
  2. {  
  3.     var def = $.Deferred();
  4.     $.ajax  
  5.     ({  
  6.         url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('testlist')/items(7)",  
  7.         type: "POST",  
  8.         headers:  
  9.         {  
  10.             "X-RequestDigest": $("#__REQUESTDIGEST").val(),  
  11.             "IF-MATCH""*",  
  12.             "X-HTTP-Method""DELETE"  
  13.         },  
  14.         success: function(data, status, xhr)  
  15.         {  
  16.             def.resolve(); 
  17.         },  
  18.         error: function(xhr, status, error)  
  19.         {  
  20.             $("#ResultDiv").empty().text(data.responseJSON.error);  
  21.         }  
  22.     });  
  23.     return def.promise();
  24. }

Usage

 retriveListItem().then(function () {
            
        });