AJAX Daten senden und laden
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
arbeit
befehl
benutzten befehle
bibliothek
code
datei
datum
einstieg
empfang
erzeugen
kombinieren
post
probieren
seltsamen fehlern
skriptum
studieren
umstieg
vorgang
wesentliche konzentrieren
wissensstand
-
Hallo,
ich bin kein erfahrener JavaScript-Progger, schau mir meistens die Scripte an und veränder sie leicht für meine Wünsche.
Hab 2 AJAX-Codes:
Mit dem einen lädt man Daten nach und der andere sendet sie.
Kann man das beide irgendwie kombinieren?
Ich hab das so probiert:
function setData(name){ if (xmlHttp) { xmlHttp.open('GET', 'datei.php', true); xmlHttp.send('name=' + name); xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState == 4) { document.getElementById("content").innerHTML = xmlHttp.responseText; } }; xmlHttp.send(null); } }
Also, es soll der Name an datei.php gesendet werden und danach die Meldung ausgelesen.
Also wenn in datei.php dann falsches Passowrt oder so steht, soll es dann in <div id="content"></div>
stehen.
Lg
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Versuchs mal mit POST.
Es kommt teilweise zu seltsamen Fehlern bei eigenen Skripten.
Z.B. sendest du die Daten über "POST", kannst sie im Verwendungsskript aber nur per GET erreichen.
Außerdem ist es fraglich, ob dein Quelltext Crossbrowser-tauglich ist ;)
Vielleicht wäre für dich der Umstieg auf eine JS-Libary nicht ausgeschlossen - das wäre dann auf jeden Fall sicher.
Naja, probieren geht über studieren :)
Gruß,
dex -
Ich werd das mal mit POST probieren.
Was heißt Crossbrowser-Tauglich?
Ich hab im Moment scriptacolous auf meinem Server liegen.
Du meinst aber sowas wie jQuery oder?
Lg
-
Habe Deinen Code noch nicht selbst getestet, aber folgendes fällt mir auf:
1. Der Befehl zum Erzeugen des xmlHttp-Objects ist hier nicht dargestellt. Dieser Befehl ist unterschiedlich für W3C-konforme Browser und dem MS-IE und möglicherweise solltest Du den noch einmal überprüfen! Die von Dir benutzten Befehle sind dagegen (nach meinem Wissensstand) "crossbrowsertauglich".
2. Du verwendest zweimal die send()-Methode, einmal mit Daten und danach wieder ohne! Das zweite send() ist definitiv überflüsig. Das erste send() dagegen rufst Du zu früh auf: Du solltest erst Deine onreadystatechange-function definiert haben und erst dann den Ajax-(Sende- UND Empfangs-)Vorgang mit send() auslösen. Also, vielleicht klappt es ja damit:
function setData(name){ if (xmlHttp) { xmlHttp.open('GET', 'datei.php', true); xmlHttp.onreadystatechange = function () { if (xmlHttp.readyState == 4) { document.getElementById("content").innerHTML = xmlHttp.responseText; } }; xmlHttp.send('name=' + name); } }
Aber: ausgetestet habe ich es selbst noch nicht ...
[[ Aber darüberhinaus stimme ich qap2 eigentlich zu: Bibliotheken können Dir die Arbeit erheblich vereinfachen. Ich selbst LIEBE jQuery! Der Einstieg ist vielleicht etwas gewöhnungbedürftig, aber wenn Du das jQuery-Prinzip erst einmal verstanden hast, sparst Du Dir sooooooo viel Arbeit und kannst Dich auf das wesentliche konzentrieren,]]
Beitrag zuletzt geändert: 22.2.2010 8:02:44 von cars-ten -
Ok, werd mir mal überlegen ob es sich lohnt jQuery einzubauen, da ich evtl verstärkt mit AJAX arbeiten möchte.
Die xmlHttpp-Objects hab ich darüber iwo geschrieben.
Wollt sie hier nicht reinkopieren.
Ich hab dein Code jetzt nicht probiert, weil ich s doch iwie hinbekommen habe.
Danke
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage