I am working on an application in React.js, which sends data from an HTML form to a SharePoint list using the POST method. Unfortunately, I get error "The parameter __metadata does not exist in method GetByTitle". Already checked this thread, but didn't help.
Here's my code:
send = () => {
const url = "https:/myspsiteaddress/_api/web/lists/getbytitle(%27SkillsList%27)"
var newItem = {
'__metadata': {'type': "SP.Data.SkillsListListItem"},
Title: 'Sample Title',
Choice2: this.state.screen1Skills
}
$.ajax({
url: "https://myspsiteaddress/_api/contextinfo",
type: "POST",
headers: {
"accept": "application/json;odata=verbose",
},
success: function(_data) {
var postDigest = _data.d.GetContextWebInformation.FormDigestValue ? _data.d.GetContextWebInformation.FormDigestValue : $("#__REQUESTDIGEST").val();
$.ajax({
url: "https://myspsiteaddress/_api/web/lists/getbytitle(%27SkillsList%27)",
type: "POST",
contentType: "application/json;odata=verbose",
data: JSON.stringify(newItem),
headers: {
"Accept": "application/json;odata=verbose",
'Access-Control-Allow-Origin': '*',
"X-RequestDigest": postDigest,
"X-HTTP-Method": "POST",
"If-Match": "*"
},
success: console.log('success'),
error: function (error) {
alert(JSON.stringify(error))}
});
},
error: function (err) {
alert(JSON.stringify(err));
}
});
}