Работая с моим кодом 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>
Также вы не должны помещать toastr ["success"] (meme) в ваш обработчик успеха вызова ajax? – vm2013
Хм ... да, я пробовал это, но безрезультатно. Он работает с ошибкой, но успешный вызов ничего не дает. – Carlos
Я думал, что положил его в успешную часть обработчика ... Я не очень хорошо разбираюсь в JS, поэтому, если вы можете уточнить, я буду очень благодарен. – Carlos