Ajax not returning anything on form submit

Shortcodes are too late to add ajax actions. Additionally, that actions would be added only if shortcode is executed, which is very unlikely to happen on a ajax request. The quickest way to make your code work is to move the add_action outside addimage() function.

add_action( 'wp_ajax_wp_up', 'wp_up' );
add_action( 'wp_ajax_nopriv_wp_up', 'wp_up');
function wp_up() {   
    echo "zeeshanaslamdurrani";
    exit();
}

add_shortcode( 'test', 'addimage' );
function addimage(){     

    // register & enqueue a javascript file called globals.js
    wp_register_script( 'globalss', get_stylesheet_directory_uri() . "/js/ajaxinsert.js", array( 'jquery' ) ); 
    wp_enqueue_script( 'globalss' );

    // use wp_localize_script to pass PHP variables into javascript
    wp_localize_script( 'globalss', 'yess', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );
} 

Viewing your code, you may be interested also in this question: Enqueue Scripts / Styles when shortcode is present.

Leave a Comment