2012-02-09 5 views
1

내 테마의 functions.php에 배치 한 간단한 AJAX 기능이 있습니다. 그것은 작동하고, "일하는"올바르게 jQuery 아약스 요청에 반환되므로, 사물의 측면은 괜찮습니다. 동일한 기능 대신 플러그인에 배치 될 때 나는 또한 내부 작업 후크를 배치하려 0플러그인 내부에 AJAX 기능이 작동하지 않습니다.

function addCustomer(){ 

    echo "working"; 
    die(); 

} 
add_action('wp_ajax_addCustomer', 'addCustomer'); 
add_action('wp_ajax_nopriv_addCustomer', 'addCustomer'); 

는하지만, 더 이상 작동, 단지 리턴 (is_admin()) 경우 this tutorial에서 제안되었지만 행운은 없습니다.

나는 아마도 내가 굉장히 명백한 것을 간과 할 것이라고 생각하지만, 나는 그것을 이해할 수 없다. 내가 몇 시간 동안 인터넷 검색을했기 때문에 어떤 도움을 주셔서 감사합니다.

편집 : 여기에 내가 사용하고 AJAX 호출입니다 :

<script type="text/javascript"> 
         jQuery('#newCustomerForm').submit(ajaxSubmit); 

         function ajaxSubmit(){ 

          var newCustomerForm = jQuery(this).serialize(); 

          jQuery.ajax({ 
           type:"POST", 
           url: "/wp-admin/admin-ajax.php", 
           data: newCustomerForm, 
           success:function(data){ 
            jQuery("#feedback").html(data); 
           }, 
           error: function(errorThrown){ 
            alert(errorThrown); 
           } 
          }); 

          return false; 
         } 

하지만 수신 기능이 functions.php에 배치 될 때이 완벽하게 그냥 때 일하고으로 나는,이 비트는 괜찮 확신 별도의 플러그인에 배치됩니다.

+0

작동합니다 :이 변경 사항을 해결하려면 그것은 다음과 같이 섹션을 URL로. 그것이 올바른 방법입니다. – thenetimp

+0

글쎄, 나는 게시하는 단순한 코드와 링크 된 기사가 어떻게 그것을했는지간에 꽤 차이가있다. 구체적으로 그들이 정확히 무엇을했는지 알고 싶습니다. 제대로 작동하도록 만들었습니다. 모든 것을 수업으로 만드는 것이 좋은 프로그래밍이지만 반드시 필요한 것은 아닙니다. 내가 차단하고있는 nonce 체크가 없다는 사실이 있습니까? 그렇다면 왜 함수에서 작동하지만 플러그인에서는 작동하지 않습니까? –

+0

데이터를받지 못하셨습니까? 나머지 클라이언트를 사용하여 ajax 호출을 호출하려고 했으므로 리턴 된 것을 볼 수 있습니까? 데이터 유형은 아마도 json return을 기대하고 있으며 print 문을 사용하고 있으므로 이것이 중요 할 수 있습니다. AJAX 호출 코드가 어떤 모습인지 보여줌으로써 두 가지 문제를 모두 볼 수 있습니다. – thenetimp

답변

1

나는 동일한 문제가 있었지만 디버그 (방화 광구)에서 404 오류가 발생했을 때 url : "/wp-admin/admin-ajax.php"가 누락되었습니다. 당신은 당신이 너무 링크 된 기사를 읽고 그것을 그들이 그 일을하는 방법을해야

function ajaxSubmit(){ 
var newCustomerForm = jQuery(this).serialize(); 
jQuery.ajax({ 
    type:"POST", 
    url: "<?php echo home_url('/'); ?>/wp-admin/admin-ajax.php", 
    data: newCustomerForm, 
    success:function(data){ 
    jQuery("#feedback").html(data); 
    }, 
    error: function(errorThrown){ 
    alert(errorThrown); 
    } 
}); 
return false; 
} 

을 그리고

VK

관련 문제