>  기사  >  백엔드 개발  >  내 WordPress AJAX 호출이 0을 반환하는 이유는 무엇입니까?

내 WordPress AJAX 호출이 0을 반환하는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-01 14:05:02485검색

Why is my WordPress AJAX call returning 0?

WordPress의 Ajax 호출: 출력 문제 해결

Ajax 호출이 항상 출력으로 0을 반환하므로 원인에 대해 당황하게 됩니다. 이 문제를 해결하려면 다음을 고려하십시오.

WordPress의 전역 ajaxurl 변수:

WordPress는 AJAX 호출을 용이하게 하는 백엔드에 전역 ajaxurl 변수를 정의합니다. 그러나 이 변수는 프런트엔드에서 사용할 수 없습니다.

프런트엔드에서 ajaxurl 정의:

프런트엔드에서 AJAX 호출을 활용하려면 ajaxurl 변수를 수동으로 정의해야 합니다. . 한 가지 효과적인 방법은 wp_localize_script를 사용하는 것입니다.

wp_localize_script 사용:

AJAX 호출이 my-ajax-script.js에 있다고 가정하고, 다음과 같이 wp_localize_script를 사용하세요.

function my_enqueue() {
    wp_enqueue_script( 'ajax-script', get_template_directory_uri() . '/js/my-ajax-script.js', array('jquery') );
    wp_localize_script( 'ajax-script', 'my_ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
}
add_action( 'wp_enqueue_scripts', 'my_enqueue' );

이렇게 하면 JS 파일에 ajax_url이 포함된 my_ajax_object 개체가 생성됩니다.

Javascript에서 my_ajax_object 활용:

스크립트를 현지화한 후 JS 파일의 my_ajax_object 객체:

<code class="js">jQuery.ajax({
    type: "post",
    dataType: "json",
    url: my_ajax_object.ajax_url,
    data: formData,
    success: function(msg){
        console.log(msg);
    }
});</code>

위 내용은 내 WordPress AJAX 호출이 0을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.