Есть ли веская причина не использовать редирект при помощи js в Laravel?
В проекте используется blade для отрисовки страницы, но фронтэнд разработчик в одной из форм вставил диалоговое окно, возникающее при нажатии на кнопку "submit" (сохранение страницы), в котором вводится доп поле формы (задумка дизайна). При этом он при помощи js осуществляет переход по нужному роуту, а потом пытается редиректить страницу, но функция, вызывающаяся при переходе на заданный роут выполняет свои действия по сохранению страницы и подразумевает редирект на вьюху списка страниц своими штатными силами laravel, но js мешает это сделать и требует, чтобы функция вернула ответ, после которого он сам вызовет редирект на новый роут.
Мне как бекенд разработчику такой подход не понравиля и я потребовал от фронтэндщика, чтобы он оставил зону ответственности за переход по нужному роуту мне, а сам в своём окне получал бы параметр, добавлял бы его значение в скрытое поле формы и передавал управление кнопке "submit".
Мои доводы за мой подход в том, что мы должны саии штатным способом внутри контроллера делать редирект и передавать еще нужные параметры туда, а не использовать посредника в виде js. И что блейд шаблон может поменяться и в нем может не быть js скрипта, а моя логика от этого не должна меняться.
Еще можете подсказат какие доводы или всё же фронтэндщик прав? Вёртку делает он, мои данные переменных, передаваемых в blade он использует, но вот такие еще инициативы берёт на себя.
Дополнительно:
никто не прав, почему переход по роуту в JS не возможен?
функция, вызывающаяся при переходе на заданный роут выполняет свои действия по сохранению страницы
Что-то плохое, почему гет запрос что-то сохраняет? Это плоха практика
но js мешает это сделать и требует, чтобы функция вернула ответ, после которого он сам вызовет редирект на новый роут.
Зачем js ждет ответа? Там еще что-то происходит? Вообще плохо выглядит. Зачем в браузере ждать ответа и выполнять переход, если сервер сразу может перенаправить на нужную страницу.
Ответы:
архитектура у системы есть ? втом смысле что бы описать зоны ответственности кто где и за что отвечает. Судя по вопросу нет и это плохо. Надо написать, утвердить и дальше всем пользоваться.
А по сути вопроса - отправить запрос, получить ответ, посмотреть на него а потом решить куда и как дальше идти - нормальная логика для фронта.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Да, есть веская причина не использовать редирект при помощи JavaScript в Laravel. Во-первых, Laravel предоставляет встроенные методы для управления перенаправлениями, такие как метод `redirect()`, который позволяет легко выполнять редирект на другие страницы. Использование JavaScript для редиректа может привести к нежелательным последствиям, таким как проблемы с безопасностью и SEO.
Когда вы используете JavaScript для редиректа, это может создать проблемы с поисковой оптимизацией (SEO), поскольку поисковые роботы могут не смочь правильно проиндексировать ваш сайт из-за редиректа через JavaScript. Это может привести к снижению позиций вашего сайта в поисковой выдаче.
Кроме того, использование JavaScript для редиректа может сделать ваш сайт менее доступным для пользователей с ограниченными возможностями, так как некоторые пользователи могут иметь отключен JavaScript в своих браузерах или использовать устройства, не поддерживающие JavaScript.
Таким образом, если у вас нет конкретной необходимости использовать JavaScript для редиректа, рекомендуется придерживаться стандартных методов, предоставляемых Laravel, чтобы обеспечить безопасность, SEO и доступность вашего сайта.