Although the ajax call is sending the correct values and they are being written to the database I'm not getting a response back.
I have cut the code down to the minimum to try and locate the error but I still can't get a response...
$(document).ready(function () {
    $('#change_username').click(function(){
        $.ajax({
           dataType: "json",
           type: "POST",
           url: "ajax/change_password_ajax.php",
           data: $('#change_password_form').serialize(),
           success:function(response){
               smeg = (response.message),
               alert(smeg)
               }    
         });
     });
});
change_password_ajax.php
$new_password = $_POST['new_password1'];
$new_password = md5($new_password);
    $sql = "UPDATE user SET password = '$new_password' WHERE userID = '$id'";
    $result = mysqli_query($mysqli,$sql) or die(mysqli_error($mysqli));
    if($result){
        $message = 'yes';   
    }
    $output_array = array(
          'message' => $message,
          'bob' => 'yellow'
        );
echo json_encode($output_array);
If I use Firebug the post to change_password_ajax.php is highlighted in red and there are no response or html tabs but it doesn't give an indication why.