使用ajax和flask连续调用python函数

我需要用 ajax 连续调用 python 中的烧瓶函数。为此,我在 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。缺失的部分在哪里?我该如何解决?


浮云间
浏览 201回答 1
1回答

至尊宝的传说

setTimeout 只触发一次(除非取消)您可以使用setInterval,但这可能会以您使用的速度淹没您的服务器setTimeout我会推荐以下&nbsp;var ajaxFUN = function () {&nbsp; &nbsp;$.ajax({&nbsp; &nbsp; &nbsp;url: '/toAjax',&nbsp; &nbsp; &nbsp;dataType: 'json',&nbsp; &nbsp; &nbsp;success: function (data) {&nbsp; &nbsp; &nbsp; &nbsp;console.log('get info');&nbsp; &nbsp; &nbsp; &nbsp;$('#data').html(data['data']);&nbsp; &nbsp; &nbsp; &nbsp;ajaxFUN(); // this calls the function again&nbsp; &nbsp; &nbsp;}&nbsp; &nbsp;});&nbsp;}&nbsp;ajaxFUN();如果您担心,没有“递归”,因为ajaxFUN()它是在异步回调中调用的
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript