Здравствуйте, разбираюсь с движком вордпрес и столкнулся с трудность при работе с ajax, причем через jquery получилось отправить запрос и получить ответ от сервера, а на чистом js нет, но я хочу разобраться т.к. не по кайфе ради одного аякса грузить библиотеку JQ. В общем рабочий код на JQ:
jQuery(document).ready(function($) {
$('.submit_form').on('click', function(ev) {
ev.preventDefault();
var data = {
action: 'flat_app'
};
$.post(window.wp.admin_path, data, function(){
}, 'json');
});
});
Статус 200 ОК, ответ получен. Дальше решил то же написать на js, получилось следующее:
var subm = document.querySelector('.submit_form');
var fm = document.forms.test_form;
var obj = { action: 'flat_app' };
// var obj_json = JSON.stringify(obj);
subm.addEventListener('click', function (ev) {
ev.preventDefault();
var q = new XMLHttpRequest();
q.open("POST", window.wp.admin_path, true);
q.setRequestHeader("Content-type", "application/x-www-urlencoded");
q.send(obj);
q.onreadystatechange = function() {
if(q.readyState == 4 && q.status == 200){
console.log(q.responseText);
}
};
});
Статус 400 вордпрес отвергает запрос, ответ 0. Тут я пробовал отправлять как объект так и JSON строку, но ответ все тот же 400.
Код который принимает на сервере:
add_action('wp_head', 'ajax_data');
function ajax_data () {
$phpVars = [
'admin_path' => admin_url('admin-ajax.php')
];
echo "<script> window.wp = " . json_encode($phpVars) . "</script>";
}
add_action('wp_ajax_flat_app', 'my_action_callback');
add_action('wp_ajax_nopriv_flat_app', 'my_action_callback');
function my_action_callback () {
echo "privet";
wp_die();
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Перелопатил пол интернета, так и не нашел что искалПри изменении количества продуктов в корзине я отправляю на сервер запрос с идентификатором...
Я пытаюсь реализовать что то вроде мультиязычности на сайтеПринцип такой: огда пользователь заходит на сайте, поставить ему язык его браузера,...
Нужно реализовать редактирование комментариев в течении 1 одной минуты на PHPПодскажите, как лучше всего это сделать