Является ли хорошей идеей сделать вызов AJAX по клику <a>, прежде чем отправлять пользователя в местоположение href? - PullRequest
2 голосов
/ 24 мая 2011

У меня есть несколько сценариев, когда при нажатии элемента <a> на странице мне нужно отправить некоторые данные на сервер с AJAX и, если все в порядке, перевести пользователя туда, куда указывает <a>.Вот поток:

  1. Пользователь что-то делает на странице.

  2. Пользователь нажимает <a> элемент.

  3. AJAX-вызов отправляется на сервер, сервер обрабатывает запрос, отправляет ответ.

  4. Если с ответом все в порядке -> перейти, если с ошибкой -> вернуть false изJavaScript, таким образом прервать навигацию и отобразить сообщение об ошибке.

Итак, мне просто интересно, это вообще хорошая или плохая практика и почему?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 24 мая 2011

Нет жестких и быстрых правил в отношении таких проблем, но одно общее практическое правило заключается в том, что <a> ссылки не должны использоваться для POST-подобных действий, таких как обновление базы данных. Так что спросите себя, что делает вызов AJAX: если он просто запрашивает некоторые данные с сервера, то все в порядке с <a>; если это вызывает какое-то обновление, рассмотрите возможность использования <button>.

1 голос
/ 24 мая 2011

В прошлом, если у ссылки был метод onClick, я всегда полностью исключал ее.В своем методе AJAX onClick просто обработайте логику внутри метода и, при необходимости, вызовите Window.Location внутри метода для загрузки нового URL.

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