Hallo zusammen,
versuche bereits den ganzen Tag Daten per eID die Datenbank abzufragen. Vielleicht hat jemand für mich einen Tipp, was ich falsch mache.
Also, habe eine Extension erstellt mit FEPlugin und das ruft per AJAX (Jquery) über die eID Daten aus der Datenbank. Unter localconf funktioniert alles super. Wenn ich die index.php?eID=meineID direkt im Browser aufrufe wird auch alles angezeigt.
Meine Lokale Installation ist eine 1:1 Kopie, Online ist derselbe Datenstand (Version, Extensions usw.). Aber nachdem ich die Extension nun Online installiert habe funktioniert alles, außer die Datenabfrage per eID.
wenn ich online index.php?eID=meineID direkt aufrufe wird mir ebenfalls alles ausgegeben. Wird aber die Anfrage per JQuery abgesetzt wird zwar die success Funktion aufgerufen, aber es kommt nichts zurück.
Typo3 Version ist 4.2.6 (Lokal und Online)
Lokal habe ich PHP 5.3, und online die PHP 5.2.17
Habe natürlich schon probiert sämtlichen Cache zu leeren, da die eID über den Browser aufzurufen ist scheint die korrekt eingestellt zu sein. Selbst wenn ich nur eine simple Ausgabe machen wird die über das Script nicht ausgegeben.
Mein JS Script zur Abfrage ist eigentlich total simpel:
$.ajax({
url: "index.php",
type: "POST",
data: {
eID: "meineID",
langid: "15"
},
success: function (reqCode) {
alert(reqCode); // gibts nichts aus
if(reqCode == "0") {
alert("Fehler beim Laden!");
} else {
$("#erg").html(reqCode);
}
}
});
// EDIT: keine Ahnung warum der Code zerschossen wird 🙁
Jemand noch eine Idee was ich machen kann? Hab auch bereits versucht als url die komplett URL mit eID zu übergeben, lokal hat das funktioniert, online leider nicht.
Würde mich über nen kleinen Tipp freuen 🙂
MfG
Hallo,
puh na ich würde erstmal vom einfachsten Hindernis ausgehen.
Da du lokal testest wie wäre es mit der url eventuell macht die keine Anfrage da sie noch auf localhost eingestellt ist.
Andere Möglichkeit wären die Parameter das die nicht richtig übertragen werden. Ich würde als erstes die Parameter mal direkt nach dem funktionsaufruf in eine Datei schreiben.
z.B. mit
t3lib_div::devlog('Schritt 1: eid='.$eid, 'my_ext', 0);
wenn die da korrekt sind würde ich das Ergebnis deiner Anfrage
in den log schreiben
t3lib_div::devlog('Schritt 2: result'.print_r($result,true), 'my_ext', 0);
Dann weißte ja zumindest das was gefunden wird und es daran liegt das beim zurückgeben der Werte was nicht stimmt.
Aber das weißte eben erst dann, wenn Schritt 1 und 2 Werte ins log schreiben die deinen Wünschen entsprechen. Sollte Schritt 2 leeres Array ergeben ist klar das entweder die Ergebnismenge nicht vorhanden ist weil du z.B. vergessen hast dummywerte aus der lokalen Instanz online einzuspielen oder es tatsächlich keine Werte gibt oder deine Anfrage falsch zusammengebaut ist und deshalb nichts zurück gibt.
Sollte schon Schritt 1 scheitern stimmt was nicht mit dem ajaxaufruf nicht z.b. siehe oben localhost etc.
Grüße typonewbe
Moin,
danke für die Antwort.
hatte auch schon probiert die übergebenen Variablen mit debug() auszugeben, aber es scheint so als würde das Script garnicht ausgeführt, ein simples echo brachte auch kein Ergebnis.
Naja, konnte nach langem hin und her das Problem lösen, und es ist super dämlich. Stundenlanges rumgesuche für nichts. Hab das ganze mit Firefox getestet (lokal + online) und da lag wohl auch das Problem. den Cache + Cookies usw. habe ich zwar tausendmal gelöscht, und auch den Browser neugestartet, ohne Erfolg. Erst nachdem ich alle Tabs geschlossen habe, dann den Browser geschlossen und dann den Rechner neugestartet, und dann hat es funktioniert. Kann ich nicht verstehen warum der das gemacht hat. Habs jetzt auf mehreren Rechner getestet, das Script arbeitet einwandfrei, auch jetzt bei mir im FF. Katastrophe.
Gruß