samedi 28 février 2015

jQuery Ajax Interval not returning value

Have an interval function that gets fired upon user click. The problem is that I'm not getting any value back from the php script being called so that I can update a progress bar. The interval starts as intended. I need some help.


JQuery:



setInterval(function(){

$.ajax({
url: cdjAjax.ajaxurl,
type: 'POST',
data: {
action: 'cdj_update_progress_bar',
nonce: cdj_email_nonce,
},
cache: false,
success: function(data) {

var status = $(data).find('response_data').text();
var message = $(data).find('supplemental message').text();

if(status == 'success') {
console.log(message)
$("#cdj-progressbar").attr('value', message);
}
else {
console.log('error');

}

}
});

},4000);


PHP:



function cdj_update_progress_bar() {

if( current_user_can( 'manage_options' ) && check_ajax_referer( 'cdj_update_progress_bar', 'nonce', false ) ) {

$response = new WP_Ajax_Response();


$response->add( array(
'data' => 'success',
'supplemental' => array(
'message' => '1'
)
));

$response->send();

}
else {

$response->add( array(
'data' => 'error',
'supplemental' => array(
'message' => __( 'Unable to verify nonce.', 'cdj' )
)
));

$response->send();
}

wp_die();


}

add_action( 'wp_ajax_nopriv_cdj_update_progress_bar', 'cdj_update_progress_bar' );
add_action( 'wp_ajax_cdj_update_progress_bar', 'cdj_update_progress_bar' );

Aucun commentaire:

Enregistrer un commentaire