I am trying to set an entires status to disabled
from a front-end form.
Here is the click event listener I am using:
$(document).on('click', '.delete', function (event) {
let $this = $(event.currentTarget);
let verify = confirm("Are you sure you want to remove this?");
if (verify) {
let params = {
'entryId': $this.data('id'),
'sectionId': $this.data('section'),
'enabled': 0
};
// append CSRF token.
params[window.csrfTokenName] = window.csrfTokenValue;
onSetEntryStatus(params, function (res) {
console.log(res);
});
} else {
console.log('do nothing');
}
event.preventDefault();
});
Here is my ajax method:
function onSetEntryStatus(data, callback) {
$.ajax({
type: 'post',
contentType: 'application/json; charset=UTF-8',
cache: false,
data: data,
url: '/actions/entries/save-entry',
processData: false,
dataType: 'json',
timeout: 50000
}).done(function (response) {
console.log('response', response);
}).fail(function (error) {
// Total fail.
});
}
(also tried posting to actions/entries/save-entry
)
Request payload is coming across as: [object Object]
so clearly I'm having a brain-fart moment there.
Everything I have commented out, are things that i've seen in the console when setting the status from the CP. Currently, I am getting a 403 error back. I am able to verify that I am passing in the csrf token, so I am guessing it is because of the (incorrect) way I am sending data.
Grateful for any suggestions!
EDIT
When logging out what params I'm sending to the ajax method:
enabled: 0
entryId: 1465
sectionId: 5
_token: 'really-long-string'