Bashed my head over this for most of today. Finally got it to work.
I was limiting roles from accessing the backend.
function restrict_admin()
{
if ( ! current_user_can( 'update_core' ) && '/wp-admin/admin-ajax.php' != $_SERVER['PHP_SELF'] ) {
wp_redirect( site_url('/apply') );
}
}
add_action( 'admin_init', 'restrict_admin', 1 );
This conflicted with the AJAX of the image uploader. Check your theme’s function.php and plugins to see if there is any similar conflict.