javascript - 用ajax和flask连续调用python函数
问题描述
我需要在 python 中使用 ajax 连续调用 flask 函数。为此,我在 html 文件中有以下脚本。
<script >
var ajaxFUN = function () {
$.ajax({
url: '/toAjax',
dataType: 'json',
success: function (data) {
console.log('get info');
$('#data').html(data['data']);
}
});
}
setTimeout(ajaxFUN, 1);
</script>
这是python代码
@app.route('/toAjax')
def ajaxTo():
print("AJAX WAS HERE")
data= reader.getToAjax()
info = {
"data": data
}
return jsonify(info)
我需要在 python 中连续调用 /toAjax 标头路由,而无需点击任何按钮或任何类型的方法。
但是该实现只打印一次 AJAX WAS HERE。缺少的部分在哪里?我该如何解决?
这是我看过的类似问题: setTimeout() and setting parameters how to make ajax calls continuous for 5 seconds once
解决方案
setTimeout
仅触发一次(除非取消)
您可以使用setInterval
,但这可能会以您使用的速度淹没您的服务器setTimeout
我会推荐以下
var ajaxFUN = function () {
$.ajax({
url: '/toAjax',
dataType: 'json',
success: function (data) {
console.log('get info');
$('#data').html(data['data']);
ajaxFUN(); // this calls the function again
}
});
}
ajaxFUN();
如果您担心,没有“递归”,因为ajaxFUN()
在异步回调中被调用
推荐阅读
- python - 与 python 一起使用时出现弹性搜索错误
- c++ - C++ 为什么我在 int 和 str.length() 之间的比较不起作用?
- elasticsearch - Elasticsearch:带有过滤的查询是否会受到不在过滤器中的记录的相关性的影响?
- terraform - 引用 Terraform 中的其他模块资源
- git - Jenkins 插件安装失败并出现错误某些插件由于不满足的依赖关系而无法加载?
- json - 展平结构,其中元素可以是对象或嵌套数组
- javascript - 在组件卸载 Reactjs 之前更改 css 和状态
- angular - 如何解决 NullInjectorError: No provider for A?
- php - 将 HTML 转换为 BBCode
- reactjs - 如何从不相关的组件访问 ref?