Ajax custom search not functioning as expected

OK… this turns out to be due to a chunk of code I thought was unrelated. In an effort to keep users out of wp-admin I had added:

function foobar_redirect_admin() {
    if( !current_user_can( 'edit_posts' ) ) {
        wp_redirect( site_url() );
        exit;
    }
}

add_action( 'admin_init', 'foobar_redirect_admin' );

And that would redirect non-admin users away from admin-ajax.php as well as the wp-admin backend which caused the ajax request to fail.