• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

jQuery .load lädt komplette Seite

T4k3C4r3

Mitglied
Hallo!

Ich habe folgenden Code:
HTML:
$(document).ready(function() {
    var inputEvent = $('#search');
    inputEvent.keyup(function(){
        if(inputEvent.val() != '') {
            $( ".content" ).load( "ergeb.php", function() {
                alert( "Load was performed." );
            });
        } else {
            $(".content").empty();
        }
    });
});
</script>

aber wenn die .load funktion aktiviert wird, dann wird in den .content die komplette seite nochmals hineingeladen.

In der ergeb.php steht reiner Text
Ist das Problem/Lösung bekannt ?
Mfg
 
Werbung:
Hallo!

Ich habe folgenden Code:
HTML:
$(document).ready(function() {
    var inputEvent = $('#search');
    inputEvent.keyup(function(){
        if(inputEvent.val() != '') {
            $( ".content" ).load( "ergeb.php", function() {
                alert( "Load was performed." );
            });
        } else {
            $(".content").empty();
        }
    });
});
</script>

aber wenn die .load funktion aktiviert wird, dann wird in den .content die komplette seite nochmals hineingeladen.

In der ergeb.php steht reiner Text
Ist das Problem/Lösung bekannt ?
Mfg

Ja das Problem ist bekannt und sitzt ein paar Zentimeter vor deinem Computer :p

Code:
$( ".content" ).load( "ergeb.php", function() {
  alert( "Load was performed." );
});

Dein Script macht genau was du ihm sagst. Alle Inhalte von ergeb.php werden in .content geladen.
 
Zuletzt bearbeitet:
Hmm, spekulativ:
-ergebnis.php liegt nicht auf der gleichen Ebene wie die Javascript Datei.
-ergebnis.php wird irgendwie vom Server interpretiert und redirected. Mach mal 'ne Ergebnis.txt oder .html daraus.
 
Werbung:
Ja das Problem ist bekannt und sitzt ein paar Zentimeter vor deinem Computer :p

Code:
$( ".content" ).load( "ergeb.php", function() {
  alert( "Load was performed." );
});

Dein Script macht genau was du ihm sagst.
Falls das eine anspielung auf das vor strg+c/v vergessene anfangs-<script> ist, dann wäre das nicht das einzige Problem
Hmm, spekulativ:
-ergebnis.php liegt nicht auf der gleichen Ebene wie die Javascript Datei.
-ergebnis.php wird irgendwie vom Server interpretiert und redirected. Mach mal 'ne Ergebnis.txt oder .html daraus.
Ja, beide Dateien liegen im selben Ordner. Hab nun auch probiert an den Dateiendungen herumzuspielen, ändert sich aber nichts.
 
Werbung:
Nein, ich meinte damit, das ich scbawik nicht verstehe. Für meine Augen (nur überblickt und nicht getestet) ist dein script etwas umständlich, aber korrekt. Wenn in der ergebnis.php nur text steht, dann sollte in in .content auch nur dieser text geladen werden und nicht die ganze Seite.
 
Das versteh ich jetzt aber auch nicht. Im Content sollte nur die Antwort des Requests stehen. http://api.jquery.com/load/

Alle Inhalte von ergeb.php werden in .content geladen.

Habe ich nachträglich hinzugefügt, da ich mir schon dachte dass sonst etwas unklar ist.

Wenn man nur einen Teil von "ergeb.php" will, kann man CSS Selektoren verwenden:

Code:
$('.content').load("ergeb.php .content",function () {
 
});

Eigentlich wäre wichtig zu wissen, was ergeb.php eigentlich ist. Ein JSON-String? Ein HTML-Segment oder ein ganzes HTML-Dokument?
 
Zuletzt bearbeitet:
Das ganze Problem geht von der .htaccess aus, mit dem inhalt:
Code:
RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
gibts da eine möglichkeit eine ausnahme dafür zu machen ?
 
Werbung:
Das ganze Problem geht von der .htaccess aus, mit dem inhalt:
Code:
RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
gibts da eine möglichkeit eine ausnahme dafür zu machen ?

Habe ich mir doch gedacht dass nicht das Script schuld ist, sondern dessen Benutzung.

So wie ich das sehe, ist diese Ausnahme mit "RewriteCond %{REQUEST_FILENAME} !-f" bereits gesetzt.
Also wird wohl höchst wahrscheinlich die ergeb.php gar nicht existieren!
 
Ok, wieder was neues gelöst. Das problem kam daher da das rootverzeichnis auf ein unterverzeichnis verlegt wurde.
Eine letzte Frage noch:
meine url ist z.b webseite.com/public
->webseite.com/public/param1/param2

wie kann ich das 'public' hier verbergen? Danke
 
Ok, wieder was neues gelöst. Das problem kam daher da das rootverzeichnis auf ein unterverzeichnis verlegt wurde.
Eine letzte Frage noch:
meine url ist z.b webseite.com/public
->webseite.com/public/param1/param2

wie kann ich das 'public' hier verbergen? Danke

Ich bin mir jetzt wirklich nicht sicher ob das richtig ist aber ich würde die .htaccess in den selben Ordner wie public legen.
Und dann:

Code:
RewriteRule ^(.+)$ /public/index.php?url=$1 [QSA,L]
 
Werbung:
hat leider nicht funktioniert. egal ich habs jetzt einfach alles vom public in den root geschmissen und demnach die paths geändert. läuft alles einwandfrei. Danke vielmals
 
Zurück
Oben