我试图在 wordpress 中获取 ajax 请求的结果,但我在 javascript 的警告框中得到的结果为“0”,因此表单如下所示:
<form class="form" id="ajax-contact-form" action="#">
<input type="text" name="name" id="name" placeholder="Name" required="">
<button type="submit" class="btn">Submit</button>
</form>
JavaScript 看起来像这样:
$('#ajax-contact-form').submit(function(e){
$.ajax({
data: {action: 'contact_form'},
type: 'post',
url: ajaxurl,
success: function(data) {
alert(data); // This prints '0', I want this to print whatever name the user inputs in the form.
}
});
})
和PHP:
add_action('wp_ajax_contact_form', 'contact_form');
add_action('wp_ajax_nopriv_contact_form', 'contact_form');
function contact_form()
{
echo $_POST['name'];
}
有谁知道上面的代码是否正确,我也试过 $_REQUEST[‘name’] 但它不起作用。
非常感谢,
原文由 MariaZ 发布,翻译遵循 CC BY-SA 4.0 许可协议
尝试这样的事情,你没有添加
name
你在 PHP 中期望的参数contact_form
函数,所以你必须将它添加到data
属性jQuery ajax 函数调用。