Это как если бы вы в переменную присвоили значение true, а присвоилось false. Но это абсурд.
var a = true;
function fn(){a=false}
setTimeout(fn,100);
alert(a); // выведет true
In the bottom bar of VSCode, you'll see the label UTF-8. Click it. A popup opens. Click Save with encoding. You can now pick a new encoding for that file.
Далее, так как у вас там небольшая но вязкая каша, я бы прошелся снизу вверх по цепочке работы скрипта:
1) проверить в контроллере - первой строчкой var_dump($_POST); exit;,
2) в консоли браузера посмотреть что и куда ушло аяксом(может у вас там неверный урл и пустые данные пост)
3) и что вернулось (есть ли вообще что-то вернулось, возможно у вас не те имена полей проверяются.
4) в случае если уходит пустой запрос - проверять что в скрипте у вас неверно формируется (для начала отконсолить все получаемые переменные/элементы, включая форму и ее сериализацию).