使用来自DJango模板的重复Ajax调用动态更新值

时间:2018-03-15 20:16:20

标签: python jquery ajax django

我想在django网站上显示我的声音传感器读数(原始代码在link中发布)。现在根据接受的答案的情况2,我想制作一个Javascript函数,它从视图模板中重复调用ajax_data函数。

但似乎没有重复的电话。阅读中没有任何更新也反映出来。

我的django模板到现在为止:

<!doctype html>
<html>
  <head>
    <title>Noise measurement site</title>
    <script src="http://code.jquery.com/jquery-3.0.0.js"
     integrity="sha256-jrPLZ+8vDxt2FnE1zvZXCkCcebI/C8Dt5xyaQBjxQIo="
     crossorigin="anonymous"></script> 
    <script language="javascript" type="text/javascript">
        function updateValue() {
            $.ajax({
                    url:"D:/Python programs/django_projects/Noise_Measurement/noise_m/views.py/ajax_data/",
                    //success: updateValue(), for experimenting with a recursive call...
                });
        }
        $(document).ready(function(){
            var v = setInterval(updateValue,2000);
        });
    </script>
  </head>
    <body>
      <p>Hello there</p>
      <p>Present noise level : {{noise_level}} dB</p>
    </body>
</html>

(我在前面提到的问题中已经提到了其余的代码。我已经在平台上阅读了一些答案,但是我没有得到太多结果。)

更新

抱歉,我犯了一个错误。我对代码进行了细微的更改,并且只发布了输出。现在我已经完成了前一部分的确切更改。但输出尚未整理出来。 (感谢CumminUp07的评论)

enter image description here

1 个答案:

答案 0 :(得分:0)

**自己对问题的答案**

抱歉,实际上这是我的语法误解。

我首先应该在views.py中创建方法,该方法将从模块中获取读数。然后,对于该方法,我必须使用path()以类似以下方式分配网址:

'graph.facebook.com'

然后应该向 read 链接发出ajax请求:

path('read', views.data_update1, name='readings'),

然后使用setInterval方法方便地调用此方法。

但是最后, $.ajax({ url: "read", dataType: "json", contentType: "application/json", success: function(r) { ... } }); 并没有帮助,因此要显示值的div被分配了一个id,该ID的值在每次调用该方法时都会更新。