首页 > 解决方案 > Ajax 没有在 Wordpress 中调用 PHP 函数 - URL 有效,动作在数据中,使用 wp_die,PHP add_action(...) 是正确的

问题描述

PHP

function customFilter_wpcf7_is_email() { 

$emailIsValid = $_REQUEST['emailValid']; 
echo 'WHAT';
echo 'HI ' . $emailIsValid;
wp_die();

}
add_action( 'wp_ajax_nopriv_customFilter_wpcf7_is_email', 'customFilter_wpcf7_is_email' );
add_action( 'wp_ajax_customFilter_wpcf7_is_email', 'customFilter_wpcf7_is_email' );

用于本地化 ajax url 的 PHP(我把它放在我的 wp_enqueue_scripts 部分下)

 wp_localize_script( 'screenr-child', 'wpcf7_EmailVerify', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );

查询:

     $.ajax({
            url: wpcf7_EmailVerify.ajax_url,
            type: 'POST',
        data: {
            action: 'customFilter_wpcf7_is_email',
            emailValid: emailValid,
        },
        success: function( response ) {
            console.log('ajax success');
        }
      });

作为参考, wpcf7_EmailVerify.ajax_url 返回“ https://whatevermysiteurlis/wp-admin/admin-ajax.php ”,所以 url 很好。

编辑:

帮助将不胜感激,谢谢!

标签: phpjqueryajaxwordpress

解决方案


推荐阅读