You either need to put the code that produces the json output in its own file, then use the URL of that file/page in the AJAX call or you need to organize the code on your page so that the html document is at the end, so that you can add conditional logic to detect if the code on that page is responding to an AJAX call and can output just the json data, then exit/die without outputting any of the html document.
Next, your code making a https request to the admin_check_access.php file is executing the …access.php code in a separate instance of the web server, so any result/session variable created in that code is not available in your main code. It is producing the expected output, at the expense of an extra https connection and web server process. This takes 100’s of times longer than requiring the file through the file system. If you want the result/session variable that is set in the code to be available in your calling php code, you need to ‘require’ the file through the file system, not through a URL.