2016-09-01 3 views
0

Я пытаюсь перенаправить после того, как уведомление об уведомлении тоста начинается. Я в настоящее время Ajax запрос вКак я могу перенаправить после уведомления toastr

$.ajax({ 
      headers: { 
       'X-CSRF-TOKEN': $('meta[name="_token"]').attr('value') 
      }, 
      type: $(form).attr('method'), 
      url: $(form).attr('action'), 
      data: $(form).serialize(), 
      dataType: 'json', 
      success: function (data) { 
       toastr.success('Hello','Your fun',{timeOut: 2000,preventDuplicates: true, positionClass:'toast-top-center'}); 


        return window.location.href = '/'; 

      }, 
      error: function (data) { 
        var html = '<div class="alert alert-danger">Email/Password is invalid</div>'; 
        $('#loginMsg').html(html); 
      } 

Проблема заключается в том, что показывает уведомление, но перенаправляет быстро к фактическому читать уведомления. Как я могу перенаправить только после того, как скрывается уведомление об атак?

+0

Если вы перенаправлять в любом случае, идея сделать запрос AJAX и показать уведомление кажется полностью избыточной. –

+0

Почему это было бы лишним. Человек вступает в систему и перед тем, как перенаправляется на главную страницу, отображается уведомление об успешном входе в систему. Я видел это на множестве сайтов. Но даже если это избыточно, это не является целью моего вопроса. –

+0

Хорошо, сначала, чтобы ответить на вопрос, используйте обратный вызов 'onHidden'. См. Раздел «Обратные вызовы» документации: https://github.com/CodeSeven/toastr. Во-вторых, если запрос AJAX, показывающий уведомление, является избыточным, если вы собираетесь перенаправить в любом случае. Вместо того, чтобы сделать один запрос, вы сделали два и задержали своего пользователя, пока они ждали, когда уведомление исчезнет. Тот факт, что страница изменяется при успешном предоставлении ваших учетных данных, достаточно понятна пользователю, с которой они вошли в систему. –

ответ

4

toastr дает параметры ответного вызова

toastr.options.onShown = function() { console.log('hello'); } toastr.options.onHidden = function() { console.log('goodbye'); } toastr.options.onclick = function() { console.log('clicked'); } toastr.options.onCloseClick = function() { console.log('close button clicked'); }

внутри функции вы можете использовать URL переадресации

это зависит от подключаемого модуля, который вы используете check hear