Ajax call through admin-ajax.php returns 404 error

success and error are functions, not properties of AJAX function. Working code:

$(".tabs .btn").click(function(e) {
    e.preventDefault();
    $.ajax({
        url:"/wp-admin/admin-ajax.php",
        type: "GET",
        dataType: "html",
        cache: false,
        data: {
            action: "shows"
        }
    })
    .success(function(resp) {
        $(".ajax-show").append(resp);
    })
    .error(function(xhr, status, error) {
        var err = JSON.parse(xhr.responseText);
        console.log(err);
    });
}); 

Also that should be noted:

Deprecation Notice: The jqXHR.success(), jqXHR.error(), and jqXHR.complete() callbacks are removed as of jQuery 3.0. You can use jqXHR.done(), jqXHR.fail(), and jqXHR.always() instead.