WordPress search results with Ajax, get_post_type() not working

$_GET['s'] will not work for two reason. Firstly you make a POST request and not a GET request and secondly there is no variable with name s in your request.

When executing an AJAX request through wp-admin/admin-ajax.php WordPress executes only the code (function) registered to that request. Also it loads WordPress Administration APIs and Ajax Handlers for WordPress Core. So query vars, templates etc are not initialized and that’s why get_search_query() is not working. The flow of an AJAX request is different from the normal one and only the bare minimum is being loaded. You can see wp-admin/admin-ajax.php for more details of the flow.