Jquery 使用setInterval进行ajax调用以运行多次
我有一个vb.net aspx页面,它在document.ready上加载一个模态div 然后我有一个函数,它基本上对返回日期/时间的aspx页面进行ajax调用 ajax调用然后用日期和时间更新modal div层中的div 当页面最初加载时,上述所有操作都有效 但我希望它每5秒左右做一次,但它只做一次 所以我想总结一下。。。 -页面加载 -document.ready显示模态div(本工程) -然后setInterval调用ajax函数到我的页面,返回date.time(这可以工作1次)Jquery 使用setInterval进行ajax调用以运行多次,jquery,asp.net,ajax,setinterval,Jquery,Asp.net,Ajax,Setinterval,我有一个vb.net aspx页面,它在document.ready上加载一个模态div 然后我有一个函数,它基本上对返回日期/时间的aspx页面进行ajax调用 ajax调用然后用日期和时间更新modal div层中的div 当页面最初加载时,上述所有操作都有效 但我希望它每5秒左右做一次,但它只做一次 所以我想总结一下。。。 -页面加载 -document.ready显示模态div(本工程) -然后setInterval调用ajax函数到我的页面,返回date.time(这可以工作1次)
- 然后,在显示modal div时,以及在页面上,设置INTERVAL以继续执行上述行(这不起作用)
<script language="javascript" type="text/javascript">
$(document).ready(function () {
showPayWait();
setInterval(processPayment(), 5000);
});
/* Function to Process Payment via AJAX calls so we can update the modal div */
function processPayment() {
// show modal div first
var OrderIDResponse = "";
var lngOrderID = "";
UpdateMessage('Assigning an OrderID');
// Get Ajax Response into variable.
OrderIDResponse = getOrderID();
// Parse it to the actual text we need i.e. the orderid
lngOrderID = OrderIDResponse['responseText'];
if (!lngOrderID == "") {
UpdateMessage("OrderID Assigned: " + lngOrderID);
}
else {
UpdateMessage('Unable to assign an OrderID ' + lngOrderID);
}
}
// -- Generic function to update the divInfo Element
function UpdateMessage(msg) {
document.getElementById("divInfo").innerText = msg;
}
</script>
$(文档).ready(函数(){
showPayWait();
setInterval(processPayment(),5000);
});
/*函数通过AJAX调用处理付款,以便我们可以更新modal div*/
函数processPayment(){
//先显示模态div
var OrderIDResponse=“”;
var lngOrderID=“”;
UpdateMessage(“分配医嘱ID”);
//将Ajax响应转换为变量。
OrderIDResponse=getOrderID();
//将其解析为我们需要的实际文本,即orderid
lngOrderID=OrderIDResponse['responseText'];
如果(!lngOrderID==“”){
UpdateMessage(“分配的订单ID:+lngOrderID”);
}
否则{
UpdateMessage('无法分配OrderID'+lngOrderID);
}
}
//--更新divInfo元素的通用函数
函数更新消息(msg){
document.getElementById(“divInfo”).innerText=msg;
}
我想我应该指出,代码所在的页面是母版页的内容页面
母版页上只有最新jQuery include的链接
再次感谢您的回复,一如既往,我们将非常感谢您的帮助
干杯或者这样做:
function update() {
//update logic belongs here
setTimeout(update, 5000 /*5secs*/);
}
setTimeout(update, 5000 /*5secs*/);
function update() {
//update logic belongs here
}
setInterval(update, 5000 /*5secs*/);
$(document).ready(function() {
setInterval(doAjax, 5000);
});
function doAjax() {
// Call server-side resource here via AJAX
}
或者像这样:
function update() {
//update logic belongs here
setTimeout(update, 5000 /*5secs*/);
}
setTimeout(update, 5000 /*5secs*/);
function update() {
//update logic belongs here
}
setInterval(update, 5000 /*5secs*/);
$(document).ready(function() {
setInterval(doAjax, 5000);
});
function doAjax() {
// Call server-side resource here via AJAX
}
您需要在document ready函数中使用
setInterval
,如下所示:
function update() {
//update logic belongs here
setTimeout(update, 5000 /*5secs*/);
}
setTimeout(update, 5000 /*5secs*/);
function update() {
//update logic belongs here
}
setInterval(update, 5000 /*5secs*/);
$(document).ready(function() {
setInterval(doAjax, 5000);
});
function doAjax() {
// Call server-side resource here via AJAX
}
注意:如果您希望其他东西触发5秒间隔,那么将
setInterval(doAjax,5000)代码>在任何选择器中调用,或单击所需的事件处理程序。显然,这也不需要用jQuery来完成,但这是我能想到的最快的例子。将您的回复与另一个线程的答案结合起来使用
我使用括号()从setInterval调用函数,而不仅仅是函数引用
还有,与document ready=result结合使用
我在另一个线程中提到的答案是嗯,解决方案是setTimeout
或setInterval
。没有看到你的代码,我想没有人能帮你找出你做错了什么。你好-谢谢你的回复-我这次更新了原始问题,包括代码你好-谢谢你的回复-我这次更新了原始问题,包括代码:)你好-谢谢你的回复-我更新了原始问题,包括这次编码