vom
19.08.2012, 14:15 -
Ajax Seite neu Laden
Themen: 133
Beiträge: 712
Registriert seit: Oct 2009
PTC-Name: Andy (5435)
Ich hab einen Script wo es in der Datenbank ein Wert auf 1 setzt wenn es ernte.php aufruft jedoch wird dann das nicht Automatisch angezeigt also sprich das die Grafik verschwindet wenn die 0 z.b. auf 1 ist und da muss ich die Seite im Hintergrund neu laden jedoch weiß ich nicht wie -_-.
Hier mal der Code:
PHP-Code:
var request = false;
function setRequest(id, mapid) {
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
} catch (e) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
} catch (e) {}
}
}
if (!request) {
alert("Kann keine XMLHTTP-Instanz erzeugen");
return false;
} else {
var url = "ernte.php?itemid="+id+"&map="+mapid+"";
request.open('post', url, true);
request.send(null);
request.onreadystatechange = load;
}
}
function interpretRequest() {
switch (request.readyState) {
case 4:
if (request.status != 200) {
alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
} else {
// Hier Seite im Hintergrund neu Laden
}
break;
default:
break;
}
}
Schonmal danke im Voraus.
You love Music ? Check out BrowserSound and find your Music everyday.
Du liebst Musik ? Dann komme zu BrowserSound und finde deine Musik jeden Tag.
BrowserSound
vom
19.08.2012, 19:45 -
RE: Ajax Seite neu Laden
Themen: 187
Beiträge: 2.968
Registriert seit: Mar 2006
PTC-Name: Power (9)
Die Seite neuladen kannst du mit dem Java-Script-Code:
Eventuell noch true übergeben wenn du einen Reload vom Server erzwingen willst (sonst wird der Browser-Cache verwendet).
Aber wieso machst du überhaupt einen AJAX-Request wenn du danach eh die Seite neu lädst? Dann kannst du gleich einen normalen Link nehmen! Damit belastest du den Server ja quasi doppelt.
AJAX bringt imo nur was wenn die Anzeige nachher auch mit JavaScript-Mitteln angepasst wird.
vom
19.08.2012, 20:48 -
RE: Ajax Seite neu Laden
Themen: 133
Beiträge: 712
Registriert seit: Oct 2009
PTC-Name: Andy (5435)
ja aber es soll ja die seite im hintergrund neu laden und nicht normal aktualiesieren geht das vllt mit einem div das man dass neu laden lässt
You love Music ? Check out BrowserSound and find your Music everyday.
Du liebst Musik ? Dann komme zu BrowserSound und finde deine Musik jeden Tag.
BrowserSound
vom
20.08.2012, 12:42 -
RE: Ajax Seite neu Laden
Themen: 187
Beiträge: 2.968
Registriert seit: Mar 2006
PTC-Name: Power (9)
Was meinst du mit "die seite [soll] im hintergrund" neuladen? Wenn die Seite neulädt dann lädt sie eben neu ... die alte kommt weg und die neue wird geladen. Und wenn die Seite nicht neu laden soll dann bleibt sie eben wie sie ist. Ich versteh absolut nicht was du nun willst.
vom
20.08.2012, 13:13 -
RE: Ajax Seite neu Laden
Themen: 133
Beiträge: 712
Registriert seit: Oct 2009
PTC-Name: Andy (5435)
nein das ist so wie bei eurem Rohstoff ernte System also man Klickt da ja auch was an und es wird im Hintergrund neu Geladen ohne das es die ganze Seite neu läd oder ?
You love Music ? Check out BrowserSound and find your Music everyday.
Du liebst Musik ? Dann komme zu BrowserSound und finde deine Musik jeden Tag.
BrowserSound
vom
20.08.2012, 13:15 -
RE: Ajax Seite neu Laden
Themen: 2
Beiträge: 123
Registriert seit: Jun 2009
PTC-Name: OEMUser (5117)
(19.08.2012, 20:48)Glurak123 schrieb: ja aber es soll ja die seite im hintergrund neu laden und nicht normal aktualiesieren geht das vllt mit einem div das man dass neu laden lässt
Was ist der Unterschied zwischen "[im hintergrund] neu laden" und "[normal] aktualisieren"?
vom
20.08.2012, 13:17 -
RE: Ajax Seite neu Laden
Themen: 133
Beiträge: 712
Registriert seit: Oct 2009
PTC-Name: Andy (5435)
Im Hintergrund wird sie neu aufgerufen aber ohne das der User sieht das die Seite neu läd sprich es muss nicht die Ganzen Div's etc neu öffnen
You love Music ? Check out BrowserSound and find your Music everyday.
Du liebst Musik ? Dann komme zu BrowserSound und finde deine Musik jeden Tag.
BrowserSound
vom
20.08.2012, 13:39 -
RE: Ajax Seite neu Laden
Themen: 2
Beiträge: 123
Registriert seit: Jun 2009
PTC-Name: OEMUser (5117)
Du meinst es soll nicht die Seite neu geladen werden, sondern nur die Inhalte bestimmter Div's aktualisiert werden?
PHP-Code:
case 4:
if (request.status != 200) {
alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
} else {
// Hier berechnungen machen und Ausgabe-Divs neu füllen, anstelle die ganze Seite neu laden
}
break;
ausserdem weist dein Code Fehler auf:
PHP-Code:
else {
var url = "ernte.php?itemid="+id+"&map="+mapid+""; // Dies ist eine GET-Anfrage
request.open('post', url, true); // Dies ist eine POST-Anfrage
request.send(null);
request.onreadystatechange = load; // Bei Statusänderung wird die Funktion "load" aufgerufen. Wo befindet sie sich?
}
vom
20.08.2012, 13:59 -
RE: Ajax Seite neu Laden
Themen: 133
Beiträge: 712
Registriert seit: Oct 2009
PTC-Name: Andy (5435)
ja den fehler habe ich behoben
Aber ich habe ja einen Script den es Aktualieseren soll als ich hab ein Div mit Inhalt dadrinn ist ein div mit Content und darauf befindet sich eine Map und auf der Map wiederum mit einer PHP ausgabe Rohstoffe verankert mit einer SQL anfrage also wenn erntbar = 1 soll es sie auslesen ansonsten nicht und da muss es halt den Script neu laden oder ?
You love Music ? Check out BrowserSound and find your Music everyday.
Du liebst Musik ? Dann komme zu BrowserSound und finde deine Musik jeden Tag.
BrowserSound
vom
20.08.2012, 14:10 -
RE: Ajax Seite neu Laden
Themen: 2
Beiträge: 123
Registriert seit: Jun 2009
PTC-Name: OEMUser (5117)
der Client sendet das Ding hier ab:
PHP-Code:
"ernte.php?itemid="+id+"&map="+mapid+""
der server macht dann irgendwas und sendet was zurück an den Client zb true wenn das Item geerntet wurde.
Der Client reagiet dann auf die Antwort, indem zb im Ausgabe-Div angezeigt wird ob geerntet wurde, und eventuell auch das Bild des Items entfernt.
was du mit erntbar=1 meinst weiss ich nicht. und Content ist ds englische Wort für Inhalt. Also hast du ein Div mit Inhalt, dadrinn ein weiteres Div mit seinem Inhalt. Ist das zweite Div der ganze Inhalt des ersten Div?