다른 수신 div 태그와 동시에 같은 페이지에서 여러 개의 Ajax 호출을 수행 할 수 있습니까? 나는 이것에 대한 답을 찾는데 어려움을 겪고있다.타이머 기반 Ajax 호출 하나의 페이지에서 2 번 호출
3 페이지가 있습니다. 홈 페이지와 2 개의 PHP 페이지 : 결과를 나타내는 상태 및 경고 페이지.
홈 페이지에는 아약스를 사용하여 데이터가 변경된 2 개의 div가 있습니다.
<div id="statusTable"> </div>
<div id="alertsTable"> </div>
setInterval을 사용하여 div에 대한 새 데이터를 두 번 요청합니다. 내 문제는 호출이 이루어지면 두 div가 모두 동일한 데이터를 보유한다는 것입니다.
setInterval
(
function()
{
getAlerts();
getStatus();
},
1000
);
예.
function loadXMLDoc(url,cfunc)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=cfunc;
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
function getAlerts()
{
loadXMLDoc("alerts.php?update=variable",function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("alertsTable").innerHTML=xmlhttp.responseText;
}
});
}
function getStatus()
{
loadXMLDoc("status.php?update=variable",function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("statusTable").innerHTML=xmlhttp.responseText;
}
});
}
통화가
아래처럼 div의 수신 데이터를 중복되지 않도록 내가 타이머 setIntervals을 변경 : 대신alerts table //getAlerts()
1 1
1 1
status table //getStatus()
2 2
2 2
이의
alerts table // getStatus() call
2 2
2 2
status table // getStatus()
2 2
2 2
코드입니다
setInterval
(
function()
{
getAlerts();
},
5000
);
setInterval
(
function()
{
getStatus();
},
3000
);
같은 시간에 전화를 걸 수있는 방법이 있고 동일한 콘텐츠를 가진 내 div에 대해 걱정할 필요가 없기를 바란다.