有一个电子邮件输入,我正在尝试使用 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');
最佳答案
您声明了一个变量vipEmail
,但您发送member : email
,email
未定义。
然后您查找 $_POST['email']
而不是 $_POST['member']
。
所以基本上将 member : email
更改为 email : vipEmail
。
关于javascript - WordPress:Ajax 发布请求没有获得值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27827131/