Skip to content

Instantly share code, notes, and snippets.

@davehax
Created May 30, 2017 03:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save davehax/6a3e0603fd3b526420efaba2c74e334f to your computer and use it in GitHub Desktop.
Save davehax/6a3e0603fd3b526420efaba2c74e334f to your computer and use it in GitHub Desktop.
var getHeaders = new Headers({
'X-RequestDigest': document.getElementById('__REQUESTDIGEST').value,
'Accept': 'application/json; odata=verbose'
})
var getOptions = {
method: 'GET',
headers: getHeaders,
credentials: 'include'
}
fetch(_spPageContextInfo.webAbsoluteUrl + "/_api/lists/getbytitle('Sample List')?$select=ListItemEntityTypeFullName", getOptions).then(function(response) {
if (response.ok) {
return response.json();
}
else {
throw new Error('Network response was not ok.');
}
}).then(function(data) {
// Our new list item metadata
var metadata = {
Title: 'New List Item',
__metadata: {
type: data.d.ListItemEntityTypeFullName
}
}
// POST request headers
var postHeaders = new Headers({
'X-RequestDigest': document.getElementById('__REQUESTDIGEST').value,
'Accept': 'application/json; odata=verbose',
'Content-Type': 'application/json; odata=verbose'
});
// POST request options
var postOptions = {
method: 'POST',
headers: postHeaders,
credentials: 'include',
body: JSON.stringify(metadata)
}
// Return the fetch result so we can continue chaining function calls
return fetch(_spPageContextInfo.webAbsoluteUrl + "/_api/lists/getbytitle('Sample List')/items", postOptions);
}).then(function(response) {
if (response.ok) {
// we all good
console.log('Response was ok!')
}
else {
throw new Error('Network response was not ok.');
}
}).catch(function(error) {
// Error handling code goes here
console.error(error);
alert('Error has been logged to the console');
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment