2016-08-08 6 views
-2

아약스를 사용하여 데이터베이스에서 정보를 검색하려고합니다.Wordpress에서 AJAX 호출이 0을 반환합니다.

내 자바 스크립트를 내 페이지 헤더에 삽입하는 플러그인을 만들었습니다. .

나는이 (가) (난 그냥 그것이 함수를 호출 있는지 확인하려면 다음 추가 사용하고 내 테마 내 functions.php 파일에서
(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); 

가 이미 코드를 작업하면서 다음과 같이 내가 부르고 코드는 데이터베이스에서 데이터 가져 오기) :

add_action('wp_ajax_nopriv_myAjaxFunction', 'myAjaxFunction'); 
add_action('wp_ajax_myAjaxFunction', 'myAjaxFunction');  
function myAjaxFunction(){ 
echo "This function is being called"; 
} 

txtFname 입력을 변경하면 출력은 0입니다.

이전의 많은 질문을 살펴본 결과 무언가를 놓치고 있거나 실수로 코드를 작성했는지 확실하지 않습니다. 어떤 도움을 주시면 감사하겠습니다.

+0

으로 해석하는

action=myAjaxFunction=foo 

생산하는 것 – David

답변

0

이 잘못 :

var data= "action=myAjaxFunction="+postData; 
           ^-- 

그것은 당신이 당신의 PHP 함수에서`exit`를 사용할 필요가 PHP는 $_POST['action'] = 'myAjaxFunction=foo'

+1

그 변경 코드 행 : var data = "action = myAjaxFunction & txtFName ="+ postData; 같은 결과를 얻었습니다. –

관련 문제