在Wordpress中使用Ajax提交表单

我正在尝试在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’],它不起作用。

非常感谢

回答:

尝试这样的操作,您没有name在PHP contact_form函数中添加期望的参数,因此必须将其添加到datajQuery

ajax函数调用中的属性。

$('#ajax-contact-form').submit(function(e){

var name = $("#name").val();

$.ajax({

data: {action: 'contact_form', name:name},

type: 'post',

url: ajaxurl,

success: function(data) {

console.log(data); //should print out the name since you sent it along

}

});

});

以上是 在Wordpress中使用Ajax提交表单 的全部内容, 来源链接: utcz.com/qa/409447.html

回到顶部