Показать сообщение отдельно
  #11 (permalink)  
Старый 04.06.2020, 12:19
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от 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, а потом пришёл ты «ради поболтать».
Ответить с цитированием