如何构建专门的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
与计时器