| Сообщение от laimas | 
	| Ты же начал совсем с иного, что вообще никоим образом не могло быть источником проблемы. | 
	
 Однако именно данные, отправленные в неправильном формате, являются причиной неудачно завершившегося запроса.
И моё решение не было принято методом научного тыка. В начале автор пишет...
	
	| Сообщение от BJester | 
	| Но когда я сделал форму логина и повторил всё уже с методом POST, то сервер выдаёт ошибку 500, причём сама форма логина работает, однако если подключить js файл с fetch то случается error. | 
	
Что было перефразировано мною так: 
«Но когда я повторил всё уже с методом POST, то произошло следующее. Форма 
логина срабатывала при отправке без скрипта путём нажатия на 
<input type="submit">, а когда подключил JS файл, в котором отменялась отправка по умолчанию и применялась отправка через fetch, то начала происходить ошибка»
А раз речь шла об отправке одних и тех же данных, то сразу становится ясно, что проблема в формате данных. И действительно, форма 
логина срабатывает при отправке без скрипта путём нажатия на 
<input type="submit"> и данные отправляются в формате application/x-www-form-urlencoded, а когда используется класс FormData, то данные представлены в формате multipart/form-data, при отправке которых мы получаем сообщение об ошибке.
Следовательно, чтобы повторить тоже самое, что происходило при отправке формы, но при помощи fetch, следует отправлять данные в формате application/x-www-form-urlencoded. В конкретном приведённом примере (сообщение №1) достигается заменой FormData на URLSearchParams.
Итого:
Malleys — «данные в разных форматах» (сообщение №2)
BJester — «проблема была в формате данных» (сообщение №3)
А чем помогает 
laimas декламируя «никак не может стать причиной ошибки», «чушь полнейшая» и пр.?
	
	| Сообщение от laimas | 
	| Все остальное, это ради поболтать. | 
	
Я понимаю, у тебя такое бывает, проблему решили к №3, а потом пришёл ты «ради поболтать».