“Failed to fetch” в contact form: что скрывает ошибка?
Если fetch() выбрасывает TypeError: Failed to fetch, это не всегда значит, что запрос не ушёл. Мы проверили 10 причин на Chrome, Firefox и Safari — и выяснили, что ошибка одинаково отображается в catch, но реально причины видно только в Network или консоли. Например, CORS-ошибка не гарантирует, что сервер не получил данные, а обрыв соединения может привести к повторной отправке формы.
Инсайт: не ориентируйтесь на err.message, лучше проверяйте err instanceof TypeError для корректной диагностики network ошибок.