Django:如何将python列表从视图传递给Jquery?

时间:2013-07-16 21:31:04

标签: jquery django django-templates django-views

我从views.py中的文件中获取了一个python列表(fileContents):

views.py:

def job_progress_logs(request):
    fileContents = [line.strip() for line in open('C:\VSA Automation.log')]
    return HttpResponse(json.dumps({"fileData" : fileContents}), mimetype="application/javascript; charset=UTF-8") 

我想通过JQuery在我的template.py上显示这个列表:

template.py:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript">
function showData(){
var url = "/vsawebauto/automation/results/job_progress_logs";
    $.getJSON(url, function (data){
    // show the data
    var txtData="";
    for (var i = 0; i < data.length; i++) {
       txtData += data.fileData;
      }
      $('#progress').text(txtData);
  });
}
</script> 


<body>
<script type="text/javascript">
    setInterval(showData, 3 * 1000);
</script>
<div class="progress" id="progress"></div>
</body>

但是我无法使用上面的代码。任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:0)

DOM Ready处理程序

中包含您的代码
<script type="text/javascript">
   $(function() {
       setInterval(showData, 3 * 1000);
   });
</script>

最好将脚本移动到正文之前,以便HTML渲染不会因脚本而被阻止

答案 1 :(得分:0)

请使用
var parsedata = JSON.parse(data);
在你的AJAX函数中。你必须解析数据。