@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)
}
  • Вопрос задан
  • 236 просмотров
Пригласить эксперта
Ответы на вопрос 1
index0h
@index0h
PHP, Golang. https://github.com/index0h
ещё более красивей?

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

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

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

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

Войти через центр авторизации
Похожие вопросы