eingebundenes JS in Ajax
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
aufrufen
beispiel
beispielsweise code
code
dank
datei
datum
einzeln entfernen
folgendes code
funktion
http
information
inhalt
laden
notation
objekt
unqualifizierte meinung
url
welt
zeile
-
HI
Ich bin gerade dabei mir ein ajax tutorial durchzulesen. Ich habe auch alles verstanden und bin jetzt um viele Informationen Reicher, doch ich verstehe da was mit diesem json nicht! Wenn ich per ajax ein php-script laden will, darf dieses dann kein javascript enthalten? Und wenn nein was mach ich dann?? Hoffe ihr könnt mir das erklären. MVG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
JSON = JavaScrip Object Notation.
JSON ist eine... Objekt-Notation. *g* Also beispielsweise du willst mehrere Dinge auf ein mal laden - einen Seitenhinhalt, einen Seitentitel, eine Javascript-Quell-Datei, kannst du dies relativ einfach via PHP machen.
So sähe etwa der Response-Text als JSON aus. Wenn du das ganze dann von Javascript zu einem JSON-Objekt machst, kannst du recht einfach via responseText.Titel oder responseText.Inhalt auf die jeweiligen Werte zugreifen. Dies vereinfacht den Umgang mit dem Inhalt.{ "Titel": "Mein Titel", "Inhalt": "<div>...</div>", "jsSource": "js/foo.js" }
Mit JSON lässt sich auch noch mehr machen, aber das liest du dann am besten in einem JSON-Tutorial.
Was Javascript angeht: Du solltest deine eingebundenen js-dateien immer im Head verzeichnen. Natürlich geht es oft auch direkt über den Content, aber dort kannst du deine Scripts praktisch nur schwer wieder einzeln entfernen. (Um nur ein Beispiel zu nennen, warum man es so machen sollte) JSON wird dabei nur verwendet, weil es schlicht "Angenehmer" ist, mit JSON-Objekten umzugehen.
Soweit zumindest meine unqualifizierte Meinung.
Beitrag zuletzt geändert: 21.2.2010 17:54:49 von nerdinator -
Ok Danke aber ich glaube ich habe mich etwas falsch ausgedrückt:
Ich habe eine php seite, in der ein Script ist
bla.php
echo "<script language=\"javascript\"> . . . </script>";
Aber das Script wird nicht ausgeführt. Warum nicht und wie muss ich es machen, damit es ausgeführt wird??
MVG -
Du willst also, dass eine Script direkt ausgeführt wird?
Auch sowas lässt sich via Ajax machen. Beispielsweise könntest du via Ajax eine js-datei in den header laden, in der eine function steht, welche du dann direkt aufrufst. Beispielsweise
Dann kannst du via eval(responseText.startF); die jeweilige Function aufrufen. Sicher ginge das auch einfacher, aber so würde ich es zumindest machen.{ "Titel": "Mein Titel", "Inhalt": "<div>...</div>", "jsSource": "js/foo.js", "startF": "foo();" }
-
programtools schrieb:
Ok und wo steht dan die Funktion in der php-datei und wie soll ich den Inhalt der über 100 Zeilen hat in eine Zeile machen??
Ich verstehe das noch nicht so ganz... MVG
Also erst einmal sollte erwähnt werden das js Zeilenumbrüche ignoriert. Es ist also total egal (zum ausführen) ob Du das in eine oder mehrere Zeilen packst.
Für mich die am leichtesten zu verstehende erklärung für json hat Wiki
In Deinem Fall wäre wohl der leichteste weg:
responseText = "function foo(){alert('bar');}foo();"; eval(responseText);
Sprich in der php-datei steht folgendes:
"function foo(){alert('bar');}foo();"
(ungetestet)
ein anderes ajax Beispiel hier
Grundsätzlich wäre es Dir aber immer zu empfehlen per ajax NUR die Daten zu übertragen die sich auch wirklich ändern.
Und js-befehle ändern sich nun einmal nicht.
Also statt das hier in der php-seite auszugeben:
alert('Hallo Welt')
Solltest Du nur das hier Ausgeben:
einevariable='Hallo Welt'
und dann mit alert(einevariable) aufrufen.
Damit aber js weiß das es einevariable gibt brauchst Du eval() (siehe oben).
Und da Du oft mehr als einen Datensatz hast, wäre es praktisch das alles schön sortiert im format
schlüsselwort:inhalt, nächstesschlüsselwort:wiederinhalt usw... zu haben.
Und genau da kommt json ins Spiel
Alles klar?
Beitrag zuletzt geändert: 21.2.2010 20:42:12 von simuliertes -
Danke dass mit dem Javascript ist mir jetzt klar (glaub ich ?!?) aber mit dem Inhalt der Seite der dann in 'inhalt' kommt. Das ist mir noch unklar, denn die Seite ist ja total unübersichtlich, wenn der Inhalt von 1-200 Zeilen in eine gepackt wird.
-
programtools schrieb:
Danke dass mit dem Javascript ist mir jetzt klar (glaub ich ?!?) aber mit dem Inhalt der Seite der dann in 'inhalt' kommt. Das ist mir noch unklar, denn die Seite ist ja total unübersichtlich, wenn der Inhalt von 1-200 Zeilen in eine gepackt wird.
Dann packst Du den Inhalt halt nicht in eine Zeile
Hat kein er geshrieben das du das machen musst... -
Asso ok dann ist alles klar ;) Vielen Dank für eure Hilfe !! MVG
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage