How to get post from pure frontend AJAX (using only post ID)?

You can output your javascript via wp_add_inline_script(). This way you can set the post”s id and AJAX URL before outputting the code:

wp_add_inline_script('my-js', '
    jQuery.ajax({
        \'url\' : '.admin_url('admin-ajax.php?action=my_action').'
        data : {
            \'id\' : '.get_the_ID().'
        }
    });');

Note that you need to hook to an existing js file to be able to add inline script, so my-js must be a valid enqueued script.