Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ajax]Wystąpił problem z zapytaniem
Forum PHP.pl > Forum > XML, AJAX
arzach
Mam taki kod
Kod
<script type="text/javascript" language="javascript">

var http_request = false;
function makeRequest(url) {

http_request = false;
if (http_request.overrideMimeType) {
http_request.overrideMimeType('Content-Type: image/png');
}

if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}

if (!http_request) {
alert('Poddaję się :( Nie mogę stworzyć instancji obiektu XMLHTTP');
return false;
}
http_request.onreadystatechange = function() { alertContents(http_request); };
http_request.open('GET', url, true);
http_request.send(null);

}

function alertContents(http_request) {

if (http_request.readyState == 4) {
if (http_request.status == 200) {
document.getElementById("test").innerHTML = http_request.responseText;
} else {
alert('Wystąpił problem z zapytaniem.');
}
}

}

idInterwału = setInterval("makeRequest('test.php')", 3000);

</script>
<div id="test"></div>

który pobiera mi za pomocą pliku test.php co 3 s losową fotkę i wszystko pięknie działa ale gdy chce zrobić zatrzymanie i wznawianie i tu jest problem dodałem taki kod
Kod
<BR><a href="ajax.php" onmouseout="idInterwału=setInterval('makeRequest()', 3000)" onmouseover="clearInterval(idInterwału)">Stop</a><BR>

i jak najadę na link to wyświetlanie fotek się zatrzymuje ale gdy już zjadę z linka powinno się wznowić wyświetlanie fotek a pojawia się co chwile alert Wystąpił problem z zapytaniem. I nie wiem czemu tak się dzieje.
pogdan
Nie wiem czy tak bedzie dało radę ale zamiast kasowania zegara to zrób zmienna logiczną i w zdarzeniach
onmouseout i onmouseover ustawiaj ją odpowiednio a zegar niech cały czas sobie chodzi.
Zmienna logiczna powinna włączać Twoją metodę i wyłączać.
arzach
Jest jeszcze jeden problem i nie wiem czemu ale ten kod nie działa na wszystkich przeglądarkach Ma ktoś jakiś pomysł jak zrobić by działa na wszystkich ?
abusiek
najlepszym pomyslem byloby uzycie jednej z wielu bibliotek dostepnych w sieci smile.gif Ja osobiscie uzywam prototype, ale jest tez jQuery czy MooTools

zobacz sobue http://www.prototypejs.org/api/ajax/periodicalUpdater
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.