Вопрос перенаправления на стороне клиента - PullRequest
2 голосов
/ 22 августа 2011

Я сейчас настраиваю сайт, который использует множество взаимодействий ajax. Основной поток того, что происходит сейчас, заключается в том, что данные проверяются как на стороне клиента, так и на стороне сервера, и, если данные верны, ответ от и сообщение AJAX будет являться URL-адресом для перехода на следующую страницу.

Когда я получаю URL-адрес клиента, в настоящее время я использую window.location = url для выполнения своего перенаправления.

Почему-то что-то в этом кажется неправильным. В частности, просматривая различные проекты с открытым исходным кодом, я редко вижу это. Мне интересно, если взаимодействие, которое я описываю выше, является правильным, и если это не так, что я мог бы сделать по-другому, чтобы исправить свой текущий дизайн.

Ответы [ 3 ]

1 голос
/ 22 августа 2011

Это сводит на нет весь смысл AJAX: избегайте загрузки полных страниц для каждого взаимодействия, и, таким образом, ограничьте использование полосы пропускания и будьте более отзывчивыми.

В вашем проекте каждому взаимодействию требуется два запроса: один для проверки данныхи второй, чтобы загрузить следующую полную страницу.Вам лучше полностью избегать AJAX: это, безусловно, будет более эффективным.Почему бы не вернуть ответ об ошибке, если проверка завершилась неудачей, и ответ об успешном завершении, который должен отображаться после публикации, если проверка прошла успешно?

1 голос
/ 22 августа 2011

Лучший способ для перенаправлений - со стороны сервера, в основном потому, что сервер - это тот, кто знает, можете ли вы получить доступ к этой странице или нет, и перенаправить ответ 302 в заголовке или просто вернуть страницу самостоятельно, тогда, если сервер утвердите ваш запрос на страницу, которую AJAX должен обрабатывать на странице, не заботясь о безопасности.

Если в любом случае вы не заботитесь о безопасности, тогда window.location в порядке.

1 голос
/ 22 августа 2011

То, что вы делаете, совершенно нормально и является нормальным подходом, который используют люди.Нужно иметь в виду, как вы обрабатываете неудачные запросы, если ваш пост по какой-то причине не прошел или произошел сбой в запросе ajax и т. Д.

Был интересный вопрос, и прочитайте отмеченный ответ: Как управлять запросом на перенаправление после вызова jQuery Ajax

Надеюсь, это помогло

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...