REST API
========
========
- Update operations map to http "POST" commands
- Endpoints that represent update or insert operations map to http "PUT" commands
- Endpoints that represent Read operations map to http "GET" commands
- In SharePoint 2013, use POST to create entities such as lists and sites
- Use PUT and MERGE operations to update existing SharePoint objects Use the HTTP DELETE command against the specific endpoint URL to delete the SharePoint object represented by that endpoint. In the case of recyclable objects, such as lists, files, and list items, this results in a Recycle operation.
Create Retrieve Update and Delete SharePoint List Item using REST API and JQuery
In this article, I would like to show you utilizing SharePoint REST API and JQuery to Create, Retrieve, Update and Delete SharePoint list item.
Pre-Requisite
- Reference to latest jquery.min.js
- For this example purposes, create custom List called “MyList” with default “Title” column.
Create
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| // occurs when a user clicks the create button function CreateNew() { var listName = "MyList" ; var newItemTitle = "New Title Item" ; CreateListItemWithDetails(listName, _spPageContextInfo.webAbsoluteUrl, newItemTitle, function () { alert( "New Item has been created successfully." ); }, function () { alert( "Ooops, an error occured. Please try again." ); }); } // CREATE Operation // listName: The name of the list you want to get items from // weburl: The url of the web that the list is in. // newItemTitle: New Item title. // success: The function to execute if the call is sucesfull // failure: The function to execute if the call fails function CreateListItemWithDetails(listName, webUrl, newItemTitle, success, failure) { var itemType = GetItemTypeForListName(listName); var item = { "__metadata" : { "type" : itemType }, "Title" : newItemTitle }; $.ajax({ url: _spPageContextInfo.siteAbsoluteUrl + "/_api/web/lists/getbytitle('" + listName + "')/items" , type: "POST" , contentType: "application/json;odata=verbose" , data: JSON.stringify(item), headers: { "Accept" : "application/json;odata=verbose" , "X-RequestDigest" : $( "#__REQUESTDIGEST" ).val() }, success: function (data) { success(data); }, error: function (data) { failure(data); } }); } // Get List Item Type metadata function GetItemTypeForListName(name) { return "SP.Data." + name.charAt(0).toUpperCase() + name.split( " " ).join( "" ).slice(1) + "ListItem" ; } |
Retrieve Item
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| // READ SPECIFIC ITEM operation // itemId: The id of the item to get // listName: The name of the list you want to get items from // siteurl: The url of the site that the list is in. // success: The function to execute if the call is sucesfull // failure: The function to execute if the call fails function getListItemWithId(itemId, listName, siteurl, success, failure) { var url = siteurl + "/_api/web/lists/getbytitle('" + listName + "')/items?$filter=Id eq " + itemId; $.ajax({ url: url, method: "GET" , headers: { "Accept" : "application/json; odata=verbose" }, success: function (data) { if (data.d.results.length == 1) { success(data.d.results[0]); } else { failure( "Multiple results obtained for the specified Id value" ); } }, error: function (data) { failure(data); } }); } |
Retrieve All Items
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
| // occurs when a user clicks the read button function Read() { var listName = "MyList" ; var url = _spPageContextInfo.webAbsoluteUrl; getListItems(listName, url, function (data) { var items = data.d.results; // Add all the new items for ( var i = 0; i < items.length; i++) { alert(items[i].Title + ":" + items[i].Id); } }, function (data) { alert( "Ooops, an error occured. Please try again" ); }); } // READ operation // listName: The name of the list you want to get items from // siteurl: The url of the site that the list is in. // success: The function to execute if the call is sucesfull // failure: The function to execute if the call fails function getListItems(listName, siteurl, success, failure) { $.ajax({ url: siteurl + "/_api/web/lists/getbytitle('" + listName + "')/items" , method: "GET" , headers: { "Accept" : "application/json; odata=verbose" }, success: function (data) { success(data); }, error: function (data) { failure(data); } }); } |
Update
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| // occurs when a user clicks the update button function Update() { var listName = "MyList" ; var url = _spPageContextInfo.webAbsoluteUrl; var itemId = "1" ; // Update Item Id here var title = "New Updated Title" ; updateListItem(itemId, listName, url, title, function () { alert( "Item updated, refreshing avilable items" ); }, function () { alert( "Ooops, an error occured. Please try again" ); }); } // Update Operation // listName: The name of the list you want to get items from // siteurl: The url of the site that the list is in. // title: The value of the title field for the new item // itemId: the id of the item to update // success: The function to execute if the call is sucesfull // failure: The function to execute if the call fails function updateListItem(itemId, listName, siteUrl, title, success, failure) { var itemType = GetItemTypeForListName(listName); var item = { "__metadata" : { "type" : itemType }, "Title" : title }; getListItemWithId(itemId, listName, siteUrl, function (data) { $.ajax({ url: data.__metadata.uri, type: "POST" , contentType: "application/json;odata=verbose" , data: JSON.stringify(item), headers: { "Accept" : "application/json;odata=verbose" , "X-RequestDigest" : $( "#__REQUESTDIGEST" ).val(), "X-HTTP-Method" : "MERGE" , "If-Match" : data.__metadata.etag }, success: function (data) { success(data); }, error: function (data) { failure(data); } }); }, function (data) { failure(data); }); } |
Delete
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| // occurs when a user clicks the delete button function Delete() { var listName = "MyList" ; var url = _spPageContextInfo.webAbsoluteUrl; var itemId = "1" ; // Update Item ID here deleteListItem(itemId, listName, url, function () { alert( "Item deleted successfully" ); }, function () { alert( "Ooops, an error occured. Please try again" ); }); } // Delete Operation // itemId: the id of the item to delete // listName: The name of the list you want to delete the item from // siteurl: The url of the site that the list is in. // success: The function to execute if the call is sucesfull // failure: The function to execute if the call fails function deleteListItem(itemId, listName, siteUrl, success, failure) { getListItemWithId(itemId, listName, siteUrl, function (data) { $.ajax({ url: data.__metadata.uri, type: "POST" , headers: { "Accept" : "application/json;odata=verbose" , "X-Http-Method" : "DELETE" , "X-RequestDigest" : $( "#__REQUESTDIGEST" ).val(), "If-Match" : data.__metadata.etag }, success: function (data) { success(data); }, error: function (data) { failure(data); } }); }, function (data) { failure(data); }); } |
Reference From below Links:
------------------------------------
No comments:
Post a Comment