我想在服务器处理之前发布的配方数据时显示进度条。客户端可以检查以下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%。我该怎么做呢?以下代码给出了此错误消息:
未捕获的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();
在打开HTML文档之后,我使用以下来源加载jQuery: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>
答案 0 :(得分:0)
根本原因是:同一页上有两次jQuery导入。 解决方案:删除两个jQuery导入之一。 [清理]