Я хочу показать индикатор выполнения, пока сервер обрабатывает формульные данные, которые были опубликованы ранее.Клиент может проверить ход выполнения по этому URL: http://127.0.0.1:8000/loader/progress. Следующий код отлично работает, и консоль показывает процент за один раз:
$.get('http://127.0.0.1:8000/loader/progress', function(data){
console.log(data)
});
Теперь я хочу отправить запрос getJSONпо этому адресу до тех пор, пока значение <100%.Как мне это сделать?Следующий код выдает это сообщение об ошибке: </p>
Uncaught TypeError: $ .getJSON не является функцией
var updateProgress = function(){
$.getJSON('http://127.0.0.1:8000/loader/progress', function(data)
{
if(data.percentageProcessed != 100) {
document.getElementById('progressBar').value = data.percentageProcessed;
setInterval(updateProgress, 2000);
} else {
document.getElementById('progressBar').value = 100;
}
});
}
updateProgress();
Я загружаю jQuery после открытия моего HTML-документа со следующим источником: https://code.jquery.com/jquery-3.3.1.min.js
Это все то же самое со следующим кодом.Вот сообщение об ошибке: TypeError: $ .ajax не является функцией:
var doAjax = function() {
$.ajax({
method: 'GET',
url: 'http://127.0.0.1:8000/loader/progress',
success: function(data){
if (data.percentageProcessed != 100) {
document.getElementById('progressBar').value = data.percentageProcessed;
doAjax();
} else {
document.getElementById('progressBar').value = 100;
}
}
});
}
doAjax();
Спасибо за вашу помощь.
Редактировать: Это мой импорт jQuery:
<body>
<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous">
</script>
...
</body>