Привет. В целом код как код. Сейчас модно/современно использовать React на хуках, а не в виде классовых компонентов. По стейту - в твоем коде нет глобального стейта как такового вообще. Ты можешь подключить Redux (самое простое) или, если проникнешься хуками, использовать связку useReducer + useContext.
Если я вас правильно понял, вы хотите спрашивать пользователя о том, куда ему нужно выполнить upload файла. Тогда вам придется написать "свой файловый менеджер", в котором показать файловую структуру вашего сервера или папки для загрузки файлов. Средствами браузера это невозможно, ТК он ничего не знает о вашем сервере.
Не правильно вы делаете. Ваш бекенд api.test.ru должен быть STATELESS - т.е. он не должен хранить состояния сессии. С каждым запросом на бекенд вы передаете token (в хедерах или прямо в строке запроса), который пользователь получает при авторизации на клиенте test.ru. Почитайте про OAUTH авторизацию (как пример) и JWT токены.
Скрипт new_order.php может содержать абсолютно что угодно. По клиентскому JS-скрипту восстановить работу серверного скрипта вряд ли получится. Единственное что видно - PHP-скрипт должен ответить строкой success.
1. При входе на страницу сохранить исходное состояние всех инпутов let initialState = $('#myForm').serializeArray();
2. При возвращении к началу - восстановить исходное состояние
let form = $('#myForm');
if (form.attr('name') in initialStates) {
initialStates[form.attr('name')].forEach(item => {
form.find('[name="' + item.name + '"]').val(item.value);
});
}
Как правило у вас всего два варианта: статус 200 - говорим пользователю, что все ОК, либо же другой статус - в этом случае говорим пользователю, что при выполнении операции возникла ошикба. Пользователю среднестатистического сайта глубоко параллельно какая именно ошибка возникла.
Для более сложных сайтов\приложений (например, админка, ERP, CRM и т.п.) нужно разбирать ответы сервера более обдуманно.
Сначала изучите основы JS. Далее, node.js это НЕ фреймворк, это движок как для серверной, так и для клиентской части приложений. На сегодняшний день лидируют React.js от Фейсбук и Angular от Гугл. Они примерно одинаковые. Выбор за вами. Я выбрал React js , так как он мне нужен на работе.
Если вы выбрали фреймворк, jQuery вам не нужен. Он даже не нужен и без фреймворка, современные браузеры уже нативной научились делать то, что делал он.