javascript延迟输出

时间:2010-06-11 04:51:04

标签: ajax django

每次用户点击按钮时,我都会编写一些代码来在浏览器上显示服务器的当前日期和时间。我在jjery的帮助下使用django中的ajax完成了这个。 现在我的问题是,一旦点击按钮,我必须不断显示日期和时间。 一些允许这种延迟的示例代码或实用程序将很有帮助。 提前致谢

模板是:

$(document).ready(function()  
 {  
          $("button").click(function()  
          {  
               $.ajax({  
                   type: "POST",  
                   url :"/showdate/",  
                   datatype: "json ",  
                   success : function(data){  
                             var s = data.currentdate;  
                             var sd = s  
                             $(sd).appendTo("div");  
                            }  
                });  

          });  
 });  

    <button type="button">Click Me</button>
    <div id="someid"></div>

视图功能是:

def showdate(request):     
      now = datetime.datetime.now()  
      string_now = str(now)  
      return_dict = {'currentdate':string_now}  
      json = simplejson.dumps(return_dict)  
      return HttpResponse(json,mimetype="application/json")  

2 个答案:

答案 0 :(得分:0)

让JS计算并每秒显示更新日期。这样你就可以避免一直遇到新的请求。然后每十分钟左右拨打一次电话或示例,以确保客户端和服务器不会同步。

答案 1 :(得分:0)

如果你想连续更新东西,而不是使用javascript中提供的SetIterval功能。它不断调用函数。

查看有关setinterval函数的更多信息:http://www.elated.com/articles/javascript-timers-with-settimeout-and-setinterval/

示例代码:

<form name="myForm" action="" method="POST">
<input name="myClock" type="Text">
<script language=javascript>

self.setInterval('clock()', 50)

function clock() {
    time=new Date()
    document.myForm.myClock.value=time
}

</script>
</form>