2015-02-24 1 views
0

Работая с моим кодом JavaScript, я могу получить предупреждение о неправильных URL-адресах, но, когда произошел успешный POST, я могу получить response.id, чтобы он появился через alert но не используя тот же самый рычаг toastr, который я использовал для моей неправильной логики URL. Я что-то упускаю?Toastr Growl не появляется после успешного звонка AJAX

<link href="http://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/css/toastr.css" rel="stylesheet"/> 
<script src="http://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.js"></script> 
<script type="text/javascript"> 
    $(function() { 
     $('#submit').click(function() { 
      var txt = $('#url').val(); 
      var re = /(http(s)?:\\)?([\w-]+\.)+[\w-]+[.com|.in|.org]+(\[\?%&=]*)?/ 
      if (!re.test(txt)) { 
       toastr.options = { 
        "closeButton": false, 
        "debug": false, 
        "newestOnTop": false, 
        "progressBar": false, 
        "positionClass": "toast-bottom-center", 
        "preventDuplicates": false, 
        "onclick": null, 
        "showDuration": "300", 
        "hideDuration": "1000", 
        "timeOut": "5000", 
        "extendedTimeOut": "1000", 
        "showEasing": "swing", 
        "hideEasing": "linear", 
        "showMethod": "fadeIn", 
        "hideMethod": "fadeOut" 
       }; 
       toastr["error"]("Invalid URL!"); 
       $('#url').val(''); 
       return false; 
      } 
      $.ajax({ 
       url: "{{ url_for('api.start_status') }}", 
       type: 'POST', 
       contentType: "application/json", 
       dataType: 'json', 
       data: JSON.stringify({"url": txt}), 
       success: function (response) { 
        var meme = response.id; 
        toastr(meme); 
       } 
      }); 
     }); 
    }); 
</script> 

UPDATE # 1: Как было предложено, это код сейчас, и он по-прежнему показывает такое же поведение. Подтверждено, что он также не работает в SAFARI, поэтому по крайней мере 2 браузера показывают ту же проблему.

<link href="http://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/css/toastr.css" rel="stylesheet"/> 
<script src="http://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.js"></script> 
<script type="text/javascript"> 
    $(function() { 
     toastr.options = { 
      "closeButton": false, 
      "debug": true, 
      "newestOnTop": false, 
      "progressBar": false, 
      "positionClass": "toast-bottom-center", 
      "preventDuplicates": false, 
      "onclick": null, 
      "showDuration": "300", 
      "hideDuration": "1000", 
      "timeOut": "5000", 
      "extendedTimeOut": "1000", 
      "showEasing": "swing", 
      "hideEasing": "linear", 
      "showMethod": "fadeIn", 
      "hideMethod": "fadeOut" 
     }; 
     $('#submit').click(function() { 
      var txt = $('#url').val(); 
      var re = /(http(s)?:\\)?([\w-]+\.)+[\w-]+[.com|.in|.org]+(\[\?%&=]*)?/ 
      if (!re.test(txt)) { 

       toastr["error"]("Invalid URL!"); 

       $('#url').val(''); 
       return false; 
      } 
      $.ajax({ 
       url: "{{ url_for('api.start_status') }}", 
       type: 'POST', 
       contentType: "application/json", 
       dataType: 'json', 
       data: JSON.stringify({"url": txt}), 
       success: function (response) { 
        toastr.success("Invalid URL 2!"); 
        var meme = response.id; 
{#      alert(meme);#} 
       } 
      }); 
     }); 
    }); 
</script> 

ответ

1

Таким образом, вы хотите показать тот же тост, есть ли неверный URL-адрес или успешный вызов ajax.

Если я правильно понял, то, когда я смотрю на ваш код вы, кажется, поставив toastr.options только если regex.test неудачен

Для тестирования я бы переместить варианты вне если (! Ре. контрольная работа...)?

+0

Также вы не должны помещать toastr ["success"] (meme) в ваш обработчик успеха вызова ajax? – vm2013

+0

Хм ... да, я пробовал это, но безрезультатно. Он работает с ошибкой, но успешный вызов ничего не дает. – Carlos

+0

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

Смежные вопросы