Я пытаюсь заменить jQuery на всех моих сайтах Wordpress.
У меня есть простой обработчик example_handler
, который должен возвращать «Hello World!»
function example_handler() {
echo 'Hello World!';
wp_die();
}
add_action('wp_ajax_nopriv_example_handler','example_handler');
add_action('wp_ajax_example_handler','example_handler');
Когда я использую jQuery , я получаю ожидаемый ответ:
const data = {action: 'example_handler'}
jQuery.post(ajax.url,data,r => {console.log(r);});
Когда я использую Axios , я получаю ошибку 400:
axios.post(ajax.url, {
action: 'bp_contact_form_handler'
})
.then(r => {
console.log(r);
})
.catch(e => {
console.log(e);
});
Когда я использую XMLHttp , я получаю ошибку 400:
const request = new XMLHttpRequest();
request.open('POST',ajax.url,true);
request.setRequestHeader("Content-Type", "application/json");
request.onload = () => {
const response = JSON.parse(request.response);
console.log(request.response);
};
request.send(JSON.stringify(data));