Как я уже отмечал в комментариях, вы на самом деле не отправляете никаких данных с помощью вашего вызова Ajax - поэтому неудивительно, что сервер не может видеть ни одного свойства username
.
Все, что вам нужночтобы сделать эту работу, как предполагалось, нужно заменить это:
fetch('login', {
method: 'POST'
})
на
fetch('login', {
method: 'POST',
body: {username: document.getElementById("username").value}
})
Это предполагает, что имя пользователя, которое вы хотите отправить, является значением, которое пользователь ввел вввод имени пользователя (который я считаю разумным предположением).Любые другие данные, которые вы хотите отправить с запросом, должны быть добавлены как дополнительные пары ключ-значение в параметре body
объекта параметров, который вы предоставляете для fetch
.