Я пытаюсь получить некоторую информацию из моей базы данных с помощью ajax.
Я создал плагин, который вставляет мой javascript в мой заголовок моей страницы. Код, который я вызываю, выглядит следующим образом:
(function($){
$('#txtFname').on('input', function(){
var postData = $('#txtFname').val();
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest;
}
else{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
document.getElementById("frmResult").innerHTML = xmlhttp.responseText;
}
};
var data= "action=myAjaxFunction="+postData;
xmlhttp.open("POST", "http://www.my-site.com/wp-admin/admin-ajax.php", true);
xmlhttp.send(data);
});
})(jQuery);
В моем файле functions.php для моей темы я использую я добавил следующее (я просто хочу убедиться, что он вызывает эту функцию. У меня уже есть рабочий код для захвата данных из базы данных):
add_action( 'wp_ajax_nopriv_myAjaxFunction', 'myAjaxFunction' );
add_action( 'wp_ajax_myAjaxFunction', 'myAjaxFunction' );
function myAjaxFunction(){
echo "This function is being called";
}
Когда я вношу изменения в свой вход txtFname, вывод равен 0;
Я просмотрел много предыдущих вопросов и не уверен, что я что-то упустил или просто сделал ошибку в своем коде. Любая помощь будет очень оценена.
Это не верно:
var data= "action=myAjaxFunction="+postData;
^--
Это дало бы
action=myAjaxFunction=foo
который PHP будет анализировать в $_POST['action'] = 'myAjaxFunction=foo'
exit
в вашей функции PHP