Почему не передаётся форма через AJAX в php файл?
Вы отсылаете запрос с содержимым типа application/json, а принять пытаетесь содержимое типа multipart/form-data (переменная $_POST).
$json = file_get_contents('php://input');
$data = json_decode($json, true);
проще отдавать не в json а в multipart/form-data тогда все будет работать привычно через $_POST