zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden Content laden mit jQuery

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 18.10.2011, 12:24
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.07.2008
Beiträge: 88
erxx befindet sich auf einem aufstrebenden Ast
Standard Content laden mit jQuery

Hallo,

Mit diesem Tutorial habe ich nun veranlasst, dass zumindest die "Kontakt" Seite der Webseite geladen werden kann. Allerdings wenn ich versuche das mit Seiten zu machen die auf Klassen und Objekte zugreifen bekomme ich dementsprechende Fehlermeldungen.

Warum?

Bereits dieses Script führt beim Aufruf über Javascript zu einer Fehlermeldung
PHP-Code:
<div id="banner">
    <h1> Villas<br /> and Flats<br /> at the Costa del Sol</h1>
    <div id="s3slider">
            <ul id="s3sliderContent">
                <? prop::createSlide() ?>
                <div class="clear s3sliderImage"></div>
            </ul>
    </div>
</div>
<br />

Fehlermeldung:
Zitat:
Fatal error: Class 'prop' not found in /www/htdocs/w00d0fc3/content/pages/home.php on line 5
Außerdem möchte ich die Links bei deaktiviertem Jscript über meine bisherige Methode mit PHP einbinden. Wie stellt man dies am besten an?

Vielen Dank für eure Antworten und liebe Grüße
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 18.10.2011, 16:46
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 2.633
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Wie sieht denn der Ajax-Request aus?

Um die native Navigation mit JS abzufangen (was ich persönlich für galoppierenden Unsinn halte) kannst Du z.B. dynamisch die Hypertextreferenzen ändern und eine Raute # vor den ganzen QueryString setzen. Die Onclicks musst Du dann natürlich auch abfangen und entsprechend behandeln.
__________________
github | http://dnaber.de
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 18.10.2011, 17:28
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.07.2008
Beiträge: 88
erxx befindet sich auf einem aufstrebenden Ast
Standard

Hallo und danke für deine Antwort,
Ich bin in AJAX leider noch sehr unerfahren und verstehe nur bruchstückhaft was du schreibst.

Im moment sieht es bei mir so aus
HTML-Code:
<a href="javascript:contentloader('home.html');">Home</a>
so geht es aber auch...
HTML-Code:
<a onClick="contentloader('home.html');" href="#">Home</a>
versucht gehabt, da ist aber leider nicht sehr viel passiert...

Mir fällt auf dass ich dann auch per javascript der Navigationsleiste klar machen muss welcher Reiter denn nun als "active" gemarkt werden muss... Idee?!?


Was meinst du mit
Zitat:
was ich persönlich für galoppierenden Unsinn halte

Geändert von erxx (18.10.2011 um 17:44 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 18.10.2011, 17:58
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 2.633
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Was macht die Funktion contenloader() denn? So wie es aussieht will sie ein Template direkt laden, was in der PHP-Fehlermeldung resultiert, weil die Anwendungsumgebung nicht geladen ist.

Ich halte es für unsinnig native Browserfunktionen mit JavaScript zu reimplementieren. Bei ordentlicher Chachesteuerung wird ab dem zweiten Request nur noch das HTML vom Server (und ggf. sonstiger Content) abgefragt. Den paar Bytes für Header/Footer/Nav die man sich schenkt stehen gleich mal zig kb des JS-Frameworks gegenüber.
__________________
github | http://dnaber.de
Mit Zitat antworten
  #5 (permalink)  
Alt 18.10.2011, 18:10
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.07.2008
Beiträge: 88
erxx befindet sich auf einem aufstrebenden Ast
Standard

Im ersten Post ist das Wort "Tutorial" eben so ein Link, ist wohl nicht aufgefallen

War auch ein sehr sehr knappes Tutorial deswegen habe ich mich im Post kurz angebunden. Egal.

Hier das Script
Code:
function contentloader(dataid) {
       $(".content").load("/verzeichnis/struktur/"+dataid);
}
Ich denke dass du natürlich recht hast mit der Vermutung dass die Umgebung nicht mitgeladen wird. Was mir allerdings schleierhaft ist da diese normalerweise schon geladen sein sollte.

meiner wahrscheinlich falschen Logik nach zumindest
Mit Zitat antworten
  #6 (permalink)  
Alt 18.10.2011, 19:35
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 2.633
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Was genau steht denn bei dir in der Funktion für die RequestURI drin? Doch sicher nicht "/verzeichnis/struktur"?
__________________
github | http://dnaber.de
Mit Zitat antworten
  #7 (permalink)  
Alt 19.10.2011, 09:46
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.07.2008
Beiträge: 88
erxx befindet sich auf einem aufstrebenden Ast
Standard

nein, aber diese funktion verwende ich bisher auch nur beim Bildupload.
Mit Zitat antworten
  #8 (permalink)  
Alt 19.10.2011, 18:45
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 2.633
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Okay ich gebs auf!
Wenn Du Hilfe willst, dann Poste entweder Code, der den Fehler reproduzierbar macht, bzw. beantworte wenigstens die Fragen, die ich gestellt habe. Oder besser, poste einen Link zum Problem.
__________________
github | http://dnaber.de
Mit Zitat antworten
  #9 (permalink)  
Alt 19.10.2011, 20:05
Benutzerbild von Thielo
Web Ninja
XHTMLforum-Kenner
 
Registriert seit: 17.09.2009
Ort: Stuttgart oder so
Beiträge: 3.384
Thielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein Lichtblick
Standard

Zitat:
Zitat von erxx Beitrag anzeigen
Ich denke dass du natürlich recht hast mit der Vermutung dass die Umgebung nicht mitgeladen wird. Was mir allerdings schleierhaft ist da diese normalerweise schon geladen sein sollte.

meiner wahrscheinlich falschen Logik nach zumindest

Du verstehst aber schon wie PHP Funktioniert oder?
Die Seite wird als HTML an den Browser gesendet. Es ist also nichts vorher geladen bei dem JS-Aufruf.
__________________
Hier ein immer gültiges Statement: Überarbeite deine Code, lerne die Grundlagen, widersprich mir nicht, wehre dich nicht, ich habe Recht, wir sind Lolgion, wir sind viele.. potato...
All meine Angaben sind ohne Gewähr, es könnte also trotz meiner Unfehlbarkeit dazu kommen dass ich falsch liege

www.richard-thiel.de | Müssen Websiten überall gleich ausschauen?
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 20.10.2011, 10:26
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.07.2008
Beiträge: 88
erxx befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Thielo Beitrag anzeigen
Du verstehst aber schon wie PHP Funktioniert oder?
Die Seite wird als HTML an den Browser gesendet. Es ist also nichts vorher geladen bei dem JS-Aufruf.
Ja klar!


Zitat:
Zitat von David Beitrag anzeigen
Okay ich gebs auf!
Wenn Du Hilfe willst, dann Poste entweder Code, der den Fehler reproduzierbar macht, bzw. beantworte wenigstens die Fragen, die ich gestellt habe. Oder besser, poste einen Link zum Problem.
Tut mir leid, aber vielleicht habe ich deine bisherigen Fragen einfach nicht so verstanden...
Nun ich hab eine index.php welche automatisch alle Klassen aus einem bestimmten Ordner lädt. Somit kann ich eigentlich von jeder mit PHP geladener Contentseite aus auch Methoden statisch aufrufen. Lediglich bei der mit JS geladenen Seite klappt es nicht.
Was wohl bedeutet dass für diese Seite diese automatisch geladenen Klassen nicht mehr gültig sind und die Seite nicht darauf zugreifen kann. Eben wahrscheinlich aus dem Grund den Thielo nannte.

Nochmal eine ganz detaillierte Erklärung aus meiner Sicht des Problems:

Als code gibt es da die oben gepostete JS Contenloader Funktion,
ein ganz stinknormales includescript in PHP mit übergabe über eine GET Variable... und eine Contentseite die aus einem statischen Methodenaufruf einer dieser automatisch geladenen Klassen...

index.php

PHP-Code:
<?php
...
function 
__autoload($class) {
  require 
'./cls/'.$class.'.php';
}
...
?>
Zum Fehler führt exampleContent.php:
PHP-Code:
<? exampleClass:exampleMethod(); ?>
Wenn exampleContent.php aufgerufen wird über:
Code:
<a onClick="contentloader('exampleContent');" href="#">Home</a>
contentloader Script:

Code:
function contentloader(dataid) {
       $(".content").load("/verzeichnis/struktur/"+dataid+".php");
}

Geändert von erxx (20.10.2011 um 10:30 Uhr)
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tabellen als Div Container SpecialFighter (X)HTML 7 12.10.2010 17:40
Ungewöhnlicher abstand beim clearen von floats adrianno CSS 14 16.09.2009 14:20
Dynamische Höhe im Content und DIV immer unten keaton CSS 8 13.12.2006 18:19
DIV Länge automatisch anpassen judicious CSS 10 08.05.2006 16:30
Seitenaufbau mit DIVs und 100% Höhe vespasquire CSS 6 12.09.2004 15:21


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:19 Uhr.