Есть несколько способов избежать повторной отправки одного и того же поста при использовании AJAX для отправки формы:
1. Добавить проверку на сервере, которая будет проверять, была ли уже отправлена форма с такими же данными. Если форма уже была отправлена, сервер может вернуть соответствующее сообщение об ошибке.
2. Использовать флаг на клиентской стороне, который будет отображать текущий статус отправки формы. При отправке формы через AJAX устанавливать этот флаг в true, чтобы блокировать повторную отправку. После получения ответа от сервера сбросить флаг на false.
3. Добавить таймаут перед отправкой следующего запроса. Например, после успешного отправления формы установить задержку перед отправкой следующего запроса.
Чтобы исправить проблему с дублированием POST-запросов при отправке формы через AJAX в модальном окне, можно использовать вышеперечисленные способы в сочетании с проверкой статуса модального окна. Например, после закрытия модального окна проверить, была ли уже отправлена форма из этого окна, и при необходимости блокировать повторную отправку.