Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用setInterval进行ajax调用以运行多次_Jquery_Asp.net_Ajax_Setinterval - Fatal编程技术网

Jquery 使用setInterval进行ajax调用以运行多次

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次)

我有一个vb.net aspx页面,它在document.ready上加载一个模态div

然后我有一个函数,它基本上对返回日期/时间的aspx页面进行ajax调用

ajax调用然后用日期和时间更新modal div层中的div

当页面最初加载时,上述所有操作都有效

但我希望它每5秒左右做一次,但它只做一次

所以我想总结一下。。。 -页面加载 -document.ready显示模态div(本工程) -然后setInterval调用ajax函数到我的页面,返回date.time(这可以工作1次)

  • 然后,在显示modal div时,以及在页面上,设置INTERVAL以继续执行上述行(这不起作用)
没有我给任何代码(假设我的代码现在是垃圾)哈哈,这能做到吗

基本上,我希望页面只显示通过调用ajax函数每5秒更新一次divsinettext的日期/时间

然后,如果我们能让它发挥作用,我将对此进行进一步阐述:)

再次感谢您的帮助:)

干杯

更新04-11-2013 10:04

我刚刚尝试将setInterval调用放在DocumentReady块中,甚至还向我调用的函数添加了一个警报,以查看它是否实际调用了多次,但实际上并没有,仍然只有一次

这是代码

所以在脚本标记的开头,我有

<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
。没有看到你的代码,我想没有人能帮你找出你做错了什么。你好-谢谢你的回复-我这次更新了原始问题,包括代码你好-谢谢你的回复-我这次更新了原始问题,包括代码:)你好-谢谢你的回复-我更新了原始问题,包括这次编码