kostenloser Webspace werbefrei: lima-city


eingebundenes JS in Ajax

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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.
    {
    	"Titel": 	"Mein Titel",
    	"Inhalt":	"<div>...</div>",
    	"jsSource":	"js/foo.js"
    }
    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.

    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
  4. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    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
  5. 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
    {
    	"Titel": 	"Mein Titel",
    	"Inhalt":	"<div>...</div>",
    	"jsSource":	"js/foo.js",
    	"startF":	"foo();"
    }
    Dann kannst du via eval(responseText.startF); die jeweilige Function aufrufen. Sicher ginge das auch einfacher, aber so würde ich es zumindest machen.
  6. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    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
  7. 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? :tongue:


    Beitrag zuletzt geändert: 21.2.2010 20:42:12 von simuliertes
  8. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    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.
  9. 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:shy:
    Hat kein er geshrieben das du das machen musst...
  10. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    Asso ok dann ist alles klar ;) Vielen Dank für eure Hilfe !! MVG
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!