PDA

View Full Version : سوال: خطا در استفاده از xmlhttp



aminjava
سه شنبه 01 آذر 1390, 12:52 عصر
با سلام
یه صفحه دارم که باید هر دوثانیه یکبار رفرش بشه.
اون رو داخل یه فایل دیگه گذاشتم و از طریق یه صفحه دیگه با توجه به کد زیر اون فایل رو فراخوانی میکنم.

<script type="text/javascript" language="javascript">
var myparent = 10;
var lastpost = 25 ;
function Show()
{
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=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var s=1;
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","showdata.php",true);
xmlhttp.send();
setTimeout("Show()",2000);
if (s != 1)
Show();
}
Show();
</script>
<div id="txtHint">در حال دریافت اطلاعات ...</div>


روی لوکال درست جواب میده ولی روی سرور اصلی که فرستادم بعضی اوقات تیک میزنه.
مینویسه "در حال دریافت اطلاعات ..."
معمولا بعد یک نیم ساعتی هم خودش درست میشه ولی خیلی اعصاب خورد کنه.
دوستان لطفا راهنمایی کنین

mr.wolf
سه شنبه 01 آذر 1390, 20:37 عصر
من هم با این مسئله مواجه هستم.
کسی راه حلی داره؟

exlord
جمعه 04 آذر 1390, 19:37 عصر
var busy = false;
function Show()
{
if(!busy){
busy = true;
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=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlht tp.responseText;
busy = false;
}
}
xmlhttp.open("GET","showdata.php",true);
xmlhttp.send();

}
}
Show();
setInterval(function(){ Show();},2000);