WordPress:Ajax发布请求没有获得价值

时间:2015-01-07 19:27:59

标签: javascript php jquery ajax wordpress

我正在尝试使用Ajax发送到函数的电子邮件输入。我检索一条成功消息,表明它已被发送但是我没有收到来自php函数的消息回显出该值。看不出我哪里错了。

任何帮助都会很棒!

Jquery代码是:

jQuery(document).ready(function($) {

    $("#submit").click(function(e) {
        e.preventDefault();

        var vipEmail = $("#email").val();
        var ajaxurl  = '<?php echo admin_url( "admin-ajax.php", "relative" ); ?>';

        console.log(vipEmail);

        // This does the ajax request
        $.ajax({
            type: 'POST',
            url: ajaxurl,
            data: {
                action: 'add_member',
                member : email
            },
            success:function(data) {
                // This outputs the result of the ajax request
                $(".w-form-done").show();
                $(".sign-up-form").css("display", "none");
            },
            error:function(errorThrown){
                console.log(errorThrown);
                //Show Error Message
                $(".w-form-fail").show();
            }
        });  

    });          

});

在functions.php中的PHP代码是:

function add_member()
{
$member = sanitize_email( $_POST['email'] );
echo $member;  
die();  
}

add_action('wp_ajax_add_member', 'add_member');
add_action('wp_ajax_nopriv_add_member', 'add_member');

2 个答案:

答案 0 :(得分:2)

您声明了变量vipEmail,但是您发送了member : emailemail未定义。
然后,您会找到$_POST['email']而不是$_POST['member']

所以基本上将member : email更改为email : vipEmail

答案 1 :(得分:0)

除了Musa发布的内容之外,对我而言success:function(data)中的data你也没有做任何事情。