如何构建专门的JQuery Timer

我有一个asp.net页面,其中有两个网格视图可用于显示当前的股票市场价格更新。 我需要每20秒更新这两个网格视图。 所以我在考虑使用JQuery来完成这项工作。

我需要的是一个定时器,它将每20秒触发一次,向服务器发送ajax请求,使用json从服务器带来订单列表,然后更新这两个网格视图。 如果在服务器被激活后20秒仍然提供服务请求,那么我希望中止旧服务器而不会造成任何麻烦。

我已经知道如何使用json引入对象。 我只需要弄清楚如何每20秒发送一个请求,如果它仍然是服务器20秒,则取消请求。

使用javascript的setInterval()以一定间隔运行一些代码。

jQuery的$.ajax()将返回您可以中止的XMLHTTPRequest对象。

 var request; // Stores XMLHTTPRequest object setInterval(function() { // if there's a current request, abort if(request) request.abort(); // make ajax request, and assign request to variable request = $.ajax({ // My ajax request parameters }); }, 20000); // repeat every 20 seconds (20,000 milliseconds) 

http://api.jquery.com/jQuery.ajax/


编辑:

如果您需要停止运行间隔,则需要将间隔分配给变量,然后随时清除它。

 var theInterval = setInterval(function() {...}, 20000); theInterval.clear(); // To stop the interval from running 

使用javascript

 setTimeout("doSomething()",1000); 

使用jquery.timers-1.0.0.js

如果我们使用JSON发布和获取数据,这种方法将正常工作

 function setTimer() { $(function () { $.ajax({ url: 'url', //url which is requested type: 'POST', data: json, dataType: 'json', contentType: 'application/json; charset=utf-8', success: function (data) { // do something } }) }); } function resetTimer() { $(function () { $.ajax({ url: 'url', //url which is requested type: 'POST', data: json, dataType: 'json', contentType: 'application/json; charset=utf-8', success: function (data) { // do something } }) }); } 

在此,url可以是显示所需结果的视图。

setTimer()和resetTimer()方法可用于设置所需的操作,并根据按下按钮等任何触发器重置操作

使用icallbackeventhandler与计时器