我想调用我的ajax函数,直到已经运行ajax而不给出响应
页面加载每秒和每秒ajax函数调用但我想调用ajax直到已经运行ajax函数没有响应。
我可以存储ajax函数刷新率,以便在此之后加载我的函数吗?
任何解决方案?请帮帮我。
下面是我正在使用的代码。
function realtime_content() {
var xmlhttp=false;
if (!xmlhttp && typeof XMLHttpRequest!='undefined')
{
xmlhttp = new XMLHttpRequest();
}
if (xmlhttp)
{
RTupdate_query = "RTajax=1&DB=" + DB + "" + groupQS + usergroupQS + "&adastats=" + adastats + "&SIPmonitorLINK=" + SIPmonitorLINK + "&IAXmonitorLINK=" + IAXmonitorLINK + "&usergroup=" + usergroup + "";
xmlhttp.open('POST', 'demophp');
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
xmlhttp.send(RTupdate_query);
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
document.getElementById("realtime_content").innerHTML = xmlhttp.responseText;
}
}
delete xmlhttp;
}
}
这是页面加载功能
function refresh_display()
{
if ($start_count < 1)
{
realtime_content();
}
$start_count++;
if (ar_seconds > 0)
{
document.getElementById("refresh_countdown").innerHTML = "" + ar_seconds + "";
ar_seconds = (ar_seconds - 1);
setTimeout("refresh_display()",1000);
}
else
{
document.getElementById("refresh_countdown").innerHTML = "0"
realtime_content();
setTimeout("refresh_display()",1000);
}
}
我添加了一张图片在此图片页面AST_timeonVDADall_final.php在页面加载时多次调用并进入待定时间。
所以我想解决这个待处理的时间,如果页面处于暂挂状态,则没有请求转到此页面AST_timeonVDADall_final.php。
当挂起解决时,此页面AST_timeonVDADall_final.php再次调用。
答案 0 :(得分:0)
使用jQuery $.when()
。 Document Link
描述:提供一种基于one执行回调函数的方法 或更多对象,通常是表示异步的延迟对象 事件
多个ajax调用的示例
$.when( $.ajax( "/page1.php" ), $.ajax( "/page2.php" ) ).done(function( a1, a2 ) {
// a1 and a2 are arguments resolved for the page1 and page2 ajax requests, respectively.
// Each argument is an array with the following structure: [ data, statusText, jqXHR ]
var data = a1[ 0 ] + a2[ 0 ]; // a1[ 0 ] = "Whip", a2[ 0 ] = " It"
if ( /Whip It/.test( data ) ) {
alert( "We got what we came for!" );
}
});