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
scbawik
1. Dezember 2014 um 14:57
2
T4k3C4r3:
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
$( ".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.
system
1. Dezember 2014 um 14:59
3
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.
system
1. Dezember 2014 um 15:04
4
Das versteh ich jetzt aber auch nicht. Im Content sollte nur die Antwort des Requests stehen. http://api.jquery.com/load/
scbawik:
Ja das Problem ist bekannt und sitzt ein paar Zentimeter vor deinem Computer
$( ".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- 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
system
1. Dezember 2014 um 15:18
7
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.
scbawik
1. Dezember 2014 um 15:21
8
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 ?
scbawik
1. Dezember 2014 um 15:51
10
T4k3C4r3:
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
scbawik
1. Dezember 2014 um 19:08
12
T4k3C4r3:
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