Не совсем. Есть 2 ajax запроса. Это значит, что прогресс бар изменится 2 раза. Как только один из них вернет ответ, прогресс бар примет значение 50%, и все это анимируется на css, когда второй запрос вернет ответ, значение прогресса установится в 100% и начнется анимация. Все элементарно и просто.
Почему ты передаешь в функцию строку obj.message, а не целое числу указывающее на время анимации? Аналогично с slow, я сомневаюсь что у тебя где-то определена переменная slow, а значит там должно быть fadeOut("slow")
Тебе сюда или на аналогичные ресурсы, где найдешь подходящую иконку: fontawesome.io/icon/check-circle
P.S. Если не найдешь, ты всегда можешь сделать .png картинкой.
Твой начальник не любит фреймворки, хочет скорости, и безопасность, но сам же наговнокодил такую парашу, которая пытается походить на фреймворк, но пользоваться этим без слез невозможно. Причем безопасность этой параши под вопросом. Все зависит что прилетит в settings, либо добротный запрос, либо инъекция. Так-же функция возвращает несколько типов данных, и как это проверять? Такой-же мотней кода как вот это?
Чтоб исключить попадание мусора, советую конвертировать сначала в картинки, да хоть скриншоть, потом через любую распознавалку текста. Еще можно открыть в хроме например и скопировать текст, но это не всегда прокатывает.