Wp admin ajax request – frontend and backend
<form method="post" id="lead_form" enctype="multipart/form-data">
<div class="sign_form_field">
<input type="email" required name="sign_email">
</div>
<div class="sign_form_field">
<input type="submit" value="Verify your email address" name="submit">
</div>
</form>
var site_path = {admin_url:"http://admin_ajax_url"};
//or
var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
$ = jQuery;
$('#lead_form').submit(function(e){
e.preventDefault();
var form_data = new FormData(this);
console.log(form_data);
//$(".loader_img_form").css('display','inline-block');
form_data.append('action','send_zh_request');
jQuery.ajax({
type : "post",
dataType : "json",
url : site_path.admin_url,
data: form_data,
contentType: false,
processData:false,
success: function(data) {
$(".loader_img_form").css('display','none');
if(data.status == 'success'){
//$('.success_message_f_sbmt').html(data.msg);
document.getElementById("sign_form").reset();
} else if(data.status == 'failed'){
$('.success_message_f_sbmt').html(data.msg);
}
},
});
})
//add action to ajax request the send mail
add_action( 'wp_ajax_send_zh_request', 'send_zh_request' );
add_action( 'wp_ajax_nopriv_send_zh_request', 'send_zh_request' );
function send_zh_request(){
global $wpdb;
$response = array();
$response['status'] = 'success';
header('Content-Type: application/json; charset=utf-8');
echo json_encode($response);
die();
}