我有一个asp.net页面,其中有两个网格视图可用于显示当前的股票市场价格更新。我需要每20秒更新这两个网格视图。所以我在考虑使用JQuery来完成这项工作。
我需要的是一个定时器,它将每20秒触发一次,向服务器发送ajax请求,使用json从服务器带来订单列表,然后更新这两个网格视图。如果服务器的请求在被激活后20秒仍在服务,那么我希望中止旧服务器而不会造成任何麻烦。
我已经知道如何使用json携带对象。我只需要弄清楚如何每20秒发送一个请求,如果它仍然是服务器20秒,则取消请求。
答案 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
与计时器