Задать вопрос
@SHNM

Как улучшить данный код?

Здравствуйте! У меня есть вот такой код, как его улучшить ещё более красивей?
$('form').submit(function(e) {
  e.preventDefault()
  $.ajax({
    url: $(this).attr('action'),
    type: $(this).attr('method'),
    data: $(this).serializeArray(),
    dataType: 'json',
    beforeSend: function() {
      $('.form-field .button').html(` 
 <div class="spiner"></div> 
 `)
      $('.form-field .button').attr('disabled', true)
    },
    success: function(result) {
      switch (result.status) {
        case 'error':
          triggerNotification('error', result.message);
          break
        case 'success':
          triggerNotification('success', result.message);
          var url = "/account"
          window.location.href = url
          break
      }
    },
    error: function(result) {
      triggerNotification('error', 'Произошла неизвестная ошибка!');
    },
    complete: function() {
      setTimeout(function() {
        $('.form-field .button').html('Продолжить');
        $('.form-field .button').attr('disabled', false);
      }, 500)
    },
  });
});

function triggerNotification(status, message) {
  $('body').append(` 
 <div class="push"> 
 <div class="push-inner ${status}">${message}</div> 
 </div> 
 `)
  setTimeout(function() {
    $('.push').remove()
  }, 3000)
}
  • Вопрос задан
  • 254 просмотра
Подписаться 2 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    FullStack-разработчик: тариф PRO
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
index0h
@index0h
PHP, Golang. https://github.com/index0h
ещё более красивей?

т.е. вы его уже улучшали?

Не кладите яйца в одну корзину (с).
Выносите отдельно рендеринг, подготовку запроса, обработку ответа и роутинг. Почитайте про SOLID.

З.Ы. Очень рекомендую начать учить js фреймворки. jQuery на момент своего создания была отличным решением, но это было более 10 лет назад.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы