Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   ошибка 500 fetch (https://javascript.ru/forum/misc/80384-oshibka-500-fetch.html)

Malleys 04.06.2020 12:19

Цитата:

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

laimas 04.06.2020 12:28

Цитата:

Сообщение от Malleys
FormData в конечном счёте представляет данные при отправке в виде типа multipart/form-data, а вам нужен application/x-www-form-urlencoded

Я и задал вопрос - чем это multipart/form-data не подходит и каким боком она может быть проблемой? Тем что сервер проверил заголовок, выплюнул 500, а дальше трава не расти? Это может быть, но в том то и проблема, что серверу в данном случае на все ...

А впал в транс и развел теорию не я, а ты.


Часовой пояс GMT +3, время: 04:37.