如何构建专门的JQuery Timer

时间:2010-05-10 15:18:49

标签: asp.net jquery

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

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

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

4 个答案:

答案 0 :(得分:2)

使用javascript的

setTimeout("doSomething()",1000);

答案 1 :(得分:2)

使用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

答案 2 :(得分:1)

使用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()方法可用于设置所需的操作,并根据任何触发器重置操作,如按下按钮

答案 3 :(得分:0)

icallbackeventhandler与计时器

一起使用