Wordpress AJAX
var data = {
action: 'my_action', // Name of action(function) in functions.php
security : local_vars.security, //if used
data: obj //object of parameters/values to pass
};
jQuery.ajax({
method: "post",
url: local_vars.ajaxurl,
data: data,
success: function(res) {
var data = jQuery.parseJSON(res);
console.log(data);
},
error: function(){
console.log('There was an ajax error!');
}
});
function enqueue_theme_scripts(){
wp_enqueue_script( 'script', get_stylesheet_directory_uri() . '/js/script.js', 'jquery', '1.0', true );
wp_localize_script( 'script', 'local_vars', array(
'security' => wp_create_nonce( 'secrect-key' ),
'ajaxurl' => admin_url( 'admin-ajax.php' )
));
}
add_action( 'wp_enqueue_scripts', 'enqueue_theme_scripts');
function my_action(){
//verify the request
if ( !wp_verify_nonce( $_POST['security'], 'secrect-key')) {
die();
};
$res['name'] = 'wayne';
echo json_encode($res);
die();
}
add_action( 'wp_ajax_my_action', 'my_action' ); // Add to make ajax accessible in admin area
add_action( 'wp_ajax_nopriv_my_action', 'my_action' ); // Add to make ajax accessible without user loging