WP Ajax with JSON data and form data

Arun - 24/03/2020 5:49 PM

Wp admin ajax request – frontend and backend

Files 3

file.html
html
<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>
script.js
javascript
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);
		}	
 	 },
    });
})
functions.php
php
//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();
}