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 객체를 활용하세요:
jQuery.ajax({
type: "post",
dataType: "json",
url: my_ajax_object.ajax_url,
data: formData,
success: function(msg){
console.log(msg);
}
});
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3