PDA

View Full Version : سوال: مشکل در اجرای منظم یک تابع



mbf5923
شنبه 10 دی 1390, 21:04 عصر
سلام دوستان
کد زیر رو ببینید:

function loadXMLDoc(url)
{

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET",url,false);
xmlhttp.send(null);
document.getElementById('test').innerHTML=xmlhttp. responseText;
z=url;
if(z=="test1.txt"){
z="test2.txt";
}
else
z="test1.txt";
//var Time = new Date;

setTimeout(loadXMLDoc(z),10000);

}
من میخوام فرآیند فراخوانی دوباره تابع هر 10ثانیه یکبار انجام بشه ولی نمیشه باید چیکار کرد؟کجای کد مشکل داره؟
متشکرم

M.Rahi
شنبه 10 دی 1390, 21:55 عصر
سلام
اصلاح شد، ببین جواب میده:



function loadXMLDoc(url)
{

z=url;
if(z=="test1.txt")
z="test2.txt";
else
z="test1.txt";

if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttp.onreadystatechange = function()
{
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
{
document.getElementById('test').innerHTML=xmlhttp. responseText;
setTimeout(loadXMLDoc(z),10000);
}
}

xmlhttp.open("GET",url,false);
xmlhttp.send(null);

}

M.Rahi
شنبه 10 دی 1390, 21:59 عصر
البته اینطور که مشاهده میشه، وقتی کد رو اینجا قرار میدیم، در خط 22 در قسمت xmlhttp. responseText;
2تا فاصله میذاره که باید حذفش کنی.
موفق باشی

MSN_Issue
شنبه 10 دی 1390, 22:55 عصر
اگه درست نشده این رو بجای خط آخرت بذار، انشاالله که درست میشه ...:چشمک:
setTimeout("loadXMLDoc("+z+")",10000);

mbf5923
یک شنبه 11 دی 1390, 13:38 عصر
دوستان از اینکه لطف کردین و جواب دادین متشکرم ولی متاسفانه هیچ یک از کار هایی که فرموده بودین جواب نداد!!

mbf5923
یک شنبه 11 دی 1390, 17:25 عصر
دوستان اگه لطف کنید پاسخ بدین ممنون میشم

irGeek
یک شنبه 11 دی 1390, 17:39 عصر
میشه بفرماید چه خطایی میده؟

mbf5923
یک شنبه 11 دی 1390, 21:02 عصر
اصلا اجرا نمیده!!!
خطایی نداره

M.Rahi
یک شنبه 11 دی 1390, 21:55 عصر
خب شما پسوند فایلهای test را از txt به php تغییر بدید و در فایلها ، دستورات php را بنویسید و حتما داخل کدها، از دستور echo یا print واسه چاپ خروجی استفاده کنید تا اطلاعاتی که به عنوان خروجی هست، برگشت داده بشه واسه جاوا اسکریپت و توی تگ مربوطه نمایش بده.
موفق باشید

mbf5923
یک شنبه 11 دی 1390, 22:07 عصر
اولا بنده از M.Rahi عزیز تشکر میکنم بابت پاسخ دادنش
کاری که فرمودین انجام دادم باز جواب نداد
میگم اصلا چیزی نمیاره!!!

MSN_Issue
یک شنبه 11 دی 1390, 23:03 عصر
اگه فایرباگ ندارید نصبش کنید روی فایرفاکستون!
به کمک اون میتونید ارور های جاوااسکریپت و خیلی چیزای دیگه رو راحتتر ببینید...

بعد خطا ها رو بگید تا ببینیم چی میشه ...

M.Rahi
یک شنبه 11 دی 1390, 23:11 عصر
داداش از اول برات نوشتم و تست کردم، هیچ مشکلی نیست :لبخندساده:
فایل رو ضمیمه کردم.
موفق باشی :چشمک:

mbf5923
دوشنبه 12 دی 1390, 00:37 صبح
متشکرم دوست عزیز لطف کردین جواب داد