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

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

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

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

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

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