jQuery .load lädt komplette Seite

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();
}
});
});
[/HTML]

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 :stuck_out_tongue:

$( ".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.

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.

Das versteh ich jetzt aber auch nicht. Im Content sollte nur die Antwort des Requests stehen. http://api.jquery.com/load/

Falls das eine anspielung auf das vor strg+c/v vergessene anfangs- ist, dann wäre das nicht das einzige Problem

Ja, beide Dateien liegen im selben Ordner. Hab nun auch probiert an den Dateiendungen herumzuspielen, ändert sich aber nichts.

Also so ?[HTML]$( „.contentSearch“ ).load( „/results.html“ );[/HTML]
funktioniert leider auch nicht

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.

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 () {

});[/CODE]

Eigentlich wäre wichtig zu wissen, was ergeb.php eigentlich ist. Ein JSON-String? Ein HTML-Segment oder ein ganzes HTML-Dokument?

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][/CODE]
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

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:

RewriteRule ^(.+)$ /public/index.php?url=$1 [QSA,L]

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