Haroldo
Haroldo

Reputation: 37377

ajax response (JSON) not calling function properly

For some reason the success function isn't being called in the following JavaScript code:

$.ajax({  
            type: 'POST',
            url: 'http://localhost/hf_latest_desktop/st_pages/user_area/acc_buttons/pass_change/pass_change_ajax.php',
            data: data,
            dataType: 'json',
            success: function(e){ 
                console.log(e);
                if(e.status == 'success'){
                    alert('your password has been changed!');
                }   
                if(e.status == 'error1'){
                    alert('please fill in all inputs!');
                }
                if(e.status == 'error2'){
                    alert('password incorrect!');
                }
                if(e.status == 'error3'){
                    alert('change failed!');
                } 
            } 
        }); 

php file ajax is calling:

    <?php session_start();
    session_cache_limiter('nocache');
    header('Expires: ' . gmdate('r', 0));
    header('Content-type: application/json');
    $status = 'error1'; //for sake of example
    ?>
    {'status':'<?php echo $status; ?>'} 

Upvotes: 0

Views: 5025

Answers (1)

Tejs
Tejs

Reputation: 41246

Add the error handler to see what is being returned.

$.ajax({
   type: 'POST',
   dataType: 'text/json',
   url: 'myUrl',
   success: function(data, status) { },
   error: function(data, status)
   {
      alert(data); // Print the response!
   }
});

Upvotes: 1

Related Questions