jquery .ajax siempre devuelve error: los datos se agregan a la base de datos

Estoy tratando de agregar usuarios a una base de datos utilizando las llamadas ajax jquery. Los usuarios se agregan perfectamente a la base de datos, pero el ajax siempre regresa con un error. Tampoco estoy seguro de cómo recuperar el error específico. A continuación se muestra mi código, formulario, PHP y jQuery.

Aquí está el jQuery.

$(document).ready(function() {

    //ajax call for all forms. 
    $('.button').click(function() {
        var form = $(this).closest('form');
        $.ajax({
            type: "POST",
            url: form.attr('data'),
            dataType: 'json',
            data: form.serialize(),
            success: function (response) {
                alert('something');
            },
            error: function() {
                alert('fail');
            }
        });
    });
  });

Aquí está el PHP

<?php
include 'class_lib.php';

if(isset($_POST['username'])) {
    $user = new Users;
    $user->cleanInput($_POST['username'], $_POST['password']);
    if($user->insertUser()) {
        echo json_encode('true');
    } else {
        echo json_encode('false');
    }
}

Aquí está el HTML

<div id='newUser' class='tool'>
    <h3>New User</h3>
    <form method='post' name='newUser' data='../php/newUser.php'>
        <span>Username</span><input type='text' name='username'><br>
        <span>Password</span><input type='password' name='password'>
        <input type='submit' name='submit' class='button' style='visibility: hidden'>
    </form>
    <span class='result'> </span>
</div>

Respuestas a la pregunta(5)

Su respuesta a la pregunta