Jquery TypeError:data.errors未定义

I'm currently developing a website for a gaming community but I've stumbled on some issues I can't fix. This is suppose to edit a user inserted in the database.

edituser.php

<form id="edituser" enctype="multipart/form-data">
    <div class="col-sm-3">
        <div class="form-group">
            <img src="../../assets/images/users/<?=$row['users_image']; ?>.<?=$row['users_imagetype']; ?>" class="img-responsive img-circle">
        </div>
        <div class="form-group">
            <input type="file" id="image">
        </div>
    </div>
    <div class="col-sm-9">
        <div id="usersidControl" class="form-group">
            <label>User ID:</label>
            <input id="usersid" class="form-control" value="<?=$row['usersid']; ?>" placeholder="<?=$row['usersid']; ?>" disabled>
        </div>
        <div id="nameControl" class="form-group">
            <label>Name:</label>
            <input id="name" class="form-control" value="<?=$row['name']; ?>" placeholder="<?=$row['name']; ?>">
        </div>
        <div id="usernameControl" class="form-group">
            <label>Username:</label>
            <input id="username" class="form-control" value="<?=$row['username']; ?>" placeholder="<?=$row['username']; ?>" disabled>
        </div>
    </div>       
</form>

edituser.js

$(document).ready(function() {
    $('form#edituser').submit(function(e) {
        var edituser = {
            'usersid'           :$('input#usersid').val(),
            'name'              :$('input#name').val(),
            'image'             :$('input#image').attr('files'),
        }

        $.ajax({
            type        : 'POST',
            url         : 'processedituser.php',
            data        : edituser,
            contentType : 'multipart/form-data',
            enconde     : true
        })
        .done(function(data) {
            $('.form-group').removeClass('has-error');
            $('.help-block').remove();

            if (!data.success) {
                if (data.errors.name) { 
                    // empty name
                    $('#nameControl').addClass('has-error');
                    $('#nameControl').append('<div class="help-block">' + data.errors.name + '</div>');
                }
                if (data.errors.username) {
                    // empty username
                    $('#usernameControl').addClass('has-error');
                    $('#usernameControl').append('<div class="help-block">' + data.errors.username + '</div>');
                }
            } else if (data.success) {
                if ($('#result').hasClass('alert-danger') || $('#result').hasClass('alert-warning') || $('#result').hasClass('alert-success') || $('#result').hasClass('alert-info') ||$('#result').hasClass('hidden')) {
                    $('#result').removeClass('alert-danger alert-info alert-success alert-warning hidden');
                    $('#result').addClass('alert-success fade in');
                    $('#result').html(data.message);
                }
            }
        })

        .fail(function(data) {
            if ($('#result').hasClass('alert-danger') || $('#result').hasClass('alert-warning') || $('#result').hasClass('alert-success') || $('#result').hasClass('alert-info') ||$('#result').hasClass('hidden')) {
                $('#result').removeClass('alert-danger alert-info alert-success alert-warning hidden');
                $('#result').addClass('alert-danger fade in');
                $('#result').html('An error has ocurred trying to edit this user, please try again in a few moments. If the problem persists, please contact the webmaster.');
            }
        });
        e.preventDefault();
    });
});

processedituser.php

include ("config.php");
global $conn;

$errors = array();
$data = array();

$editorid = $_COOKIE['backoffice_usersid'];
$editor = $_COOKIE['backoffice_username'];

$usersid = $_POST['usersid']; 
$name = $_POST['name'];
$file = $_POST['image'];

if (empty($name)) {
    $errors['name'] = "Please fill in the name.";
}

$file = rand(1000,100000)."-".$_FILES['file']['name'];
$file_loc = $_FILES['file']['tmp_name'];
$file_size = $_FILES['file']['size'];
$file_type = $_FILES['file']['type'];
$folder="../../assets/images/users/";

$new_size = $file_size/1024;  
$new_file_name = strtolower($file); 
$final_file = str_replace(' ','-',$new_file_name);

if (empty($image)) {
    $errors['file'] = "Please choose an image to upload";
} else if (!move_uploaded_file($file_loc,$folder.$final_file)) {
    $errors['file'] = "Couldn't upload the file, please try again later";
}

if (!empty($errors)) {
    $data['success'] = false;
    $data['errors']  = $errors;
} else {
    try {
        // Update Users table
        $sql_update = "UPDATE users SET .... ";

        // Insert log
        $sql_insert = "INSERT INTO logs (action, content, type, date, usersid) VALUES ('Edited', 'user $username by $editor', 'pencil-square-o', NOW(), '$editorid')";
        $conn->exec($sql_insert);

        $data['success'] = true;
        $data['message'] = "You have successfully edited this user. You'll be redirected in 5 seconds.";

    } catch(PDOException $e) {
        $data['success'] = false;
        $data['message'] = "Couldn't register you on our database!";
    }
}
echo json_encode($data);

Ok, so this is my code, I've been working on this for like 2 months, I have a similar code, but it works with no problem whatsoever. The real problem is that when I have no errors to trigger the !data.success, it simply gives me TypeError: data.errors is undefined, which I've checked over and over again, not knowing what can possibly be wrong.

The other problem is the file upload seems no to be working properly, it doesn't upload anything to the Db even though the code works outside the back office just like the rest of the code.

Can anyone please help me?