I use Fetch Api with WordPress admin-ajax.php.
- Send data as URLSearchParams. It's WORKING.
let data = {
action: 'my_action',
}
fetch( ajaxurl, {
method: 'POST',
credentials: 'same-origin',
body: new URLSearchParams(data)
});
- Send data as FormData. It's WORKING.
let data = New FormData();
data.append('action', 'my-action');
fetch( ajaxurl, {
method: 'POST',
credentials: 'same-origin',
body: data
});
- Send data as JSON . It's NOT WORKING, 400 ERROR.
let data = {
action: 'my_action',
}
fetch( ajaxurl, {
method: 'POST',
credentials: 'same-origin',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
});
I'm curious why it got 400 error? anything I miss?