Meine PHP-Datei ruft Daten aus einer PostgreSQL-DB ab. Ich muss sie in zwei verschiedenen Arrays an meine jQuery-Funktion zurücksenden. Man wird durch die Verwendung übergeben:jQuery get json_encode Variable aus PHP
echo json_encode($tb);
und funktioniert gut, in meiner js Datei i Daten korrekt erhalten, indem mit:
$.ajax({
type: "POST",
url: './DB/lb.php',
data: {d_p: oa},
success: function (tb) {
console.log(tb);
})
Konsolenausgabe ist wie erwartet.
Der andere ist immer ein PHP-Array, aber ich habe Zeichen ersetzen:
str_replace(array('[', ']'), '', htmlspecialchars(json_encode($ltb), ENT_NOQUOTES));
aber wenn ich schreibe:
$.ajax({
type: "POST",
url: './DB/lb.php',
data: {d_p: oa},
success: function (tb, ltb) {
console.log(tb);
console.log(ltb);
})
console.log (LTB) einfach ausgibt
success
was ich bin ich falsch?
Sie können nur eine einzige Antwort in einer AJAX-Anfrage zurück. Ich bin sehr verwirrt darüber, was Sie versuchen, obwohl - warum brauchen Sie die gleichen Daten zweimal zurückgegeben? Wenn Sie das Format der zurückgegebenen Daten ändern müssen, tun Sie es clientseitig von dem Objekt, das Ihrem 'success' Handler zur Verfügung gestellt wird. –
Warum wollen Sie Array und nicht nur json string drucken, wie es funktioniert, wie Sie sagen –
Sie müssen dies hinzufügen zu $ response ["tb"] = $ tb; $ Antwort ["ltb"] = $ ltb; echo json_encode ($ antwort); und bei Erfolg nur Erfolg: function (response) {console.log (response.tb); console.log (antwort.ltb)} – rad11