Size: a a a

Saint P Ruby Community

2020 September 22

CM

Cucumba Morozov in Saint P Ruby Community
а, в этом смысле. понял
источник

AG

Alexander G in Saint P Ruby Community
а на счет редиректа после сабмита через xhr у меня такое же недоумение
источник

AG

Alexander G in Saint P Ruby Community
Короче, я запутался, кто за что. Ставлю +1 за установку http-статусов в приложении.
источник

m

max in Saint P Ruby Community
сложная серверная валидация
и при "сабмите" переход в браузере должен осуществлятся только при успехе
если отправлять обычным сабмитом, то в случае ошибок придется ре-рендерить всю страницу, а этого, по условиям задачи, допустить никак нельзя
источник

AG

Alexander G in Saint P Ruby Community
но тут же реально не нужно редиректа из апи
источник

AG

Alexander G in Saint P Ruby Community
я уже сто лет так не делал, не уверен даже, что сработает
источник

m

max in Saint P Ruby Community
окей.
задача:
большая тяжелая страница с кучей динамически подгружаемого контента
на ней есть форма, заполнив которую по "отправить" отправляется инфа на сервер
сервер чекает корректность заполнения формы и в случае успеха, должен вернуть что-то, что заставит браузер пользователя перейти на другую страницу
но в случае провала, страница не должна "перезагружаться"
источник

AG

Alexander G in Saint P Ruby Community
а если речь не про редирект, а про 400, то можно,  да
источник

AG

Alexander G in Saint P Ruby Community
так это.. если говорить конкретно про jquery form plugin, то там же 2 колбэка - succes, error
в success делаем редирект, в error - нет
источник

AG

Alexander G in Saint P Ruby Community
после валидации формы вернуть 200 или 400
источник

m

max in Saint P Ruby Community
так если location для редиректа должен прийти от сервера, он не статический
источник

m

max in Saint P Ruby Community
получается надо вернуть 200, и в коллбэке success совершить редирект на локейшн из ответа
источник

AG

Alexander G in Saint P Ruby Community
ну, его же можно не только в заголовок вставить, но в тело
источник

AG

Alexander G in Saint P Ruby Community
max
получается надо вернуть 200, и в коллбэке success совершить редирект на локейшн из ответа
именно так
источник

m

max in Saint P Ruby Community
все верно
но тут утверждают что я должен использовать корректные хттп статусы и вернуть 301
источник

m

max in Saint P Ruby Community
а я как раз доказываю что это не будет работать. и возвращать надо 200, как вы и говорите
источник

m

max in Saint P Ruby Community
те по сути это редирект, но 200. потому что это редирект на уровне логики приложения
источник

m

max in Saint P Ruby Community
аналогично и с ошибками
если у меня ошибка на уровне логики приложения, то почему я должен возвращать 400?
источник

AV

Andrew Volozhanin in Saint P Ruby Community
301 не будет работать с xhr запросом так, как нужно. (т.е. юзера не перекинет на location)
источник

m

max in Saint P Ruby Community
> после валидации формы вернуть 200 или 400
даже вы предложили в случае ошибки возвращать 400. почему?
источник