我正在尝试使用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');
答案 0 :(得分:2)
您声明了变量vipEmail
,但是您发送了member : email
,email
未定义。
然后,您会找到$_POST['email']
而不是$_POST['member']
。
所以基本上将member : email
更改为email : vipEmail
。
答案 1 :(得分:0)
除了Musa发布的内容之外,对我而言success:function(data)
中的data
你也没有做任何事情。