Edit/Clarification: Ich habe eine PHP-Seite, nenne es displayPhotos.php, in dem ich einen AJAX-Aufruf auf eine andere PHP-Seite, nennen Sie es getPhotos .php, die eine Datenbank abfragt und Bildinformationen (Bildunterschrift, Dateiname usw.) an displayPhotos.php zurückgibt, wo sie angezeigt werden. Ich verwende PHP in displayPhotos, um die von getPhotos zurückgegebenen Daten zu manipulieren. Die zurückgegebenen Daten vom Ajax-Aufruf sind ein zweidimensionales Javascript-Array. Ich muss das Javascript-Array in ein PHP-Array umwandeln, damit ich sie und andere Dinge anzeigen kann. Wie mache ich das? Hoffe, das hilft.Javascript scope von array und konvertieren js array zu einem php array
Meine Augen schmerzen beim Lesen aller Dokumente.
Ich möchte Ajax verwenden, um eine Datenbank abzufragen, geben Sie die Daten zurück und verwenden Sie dann PHP, um mit der Webseite fortzufahren.
Alle Beispiele, die ich mir angesehen habe, beginnen mit dem Erstellen des JSON in PHP. Ich muss mit dem json-Objekt in Javascript beginnen.
In diesem Fall übergebe ich nichts an die PHP-Datei, die die DB abfragt. Das Konsolenprotokoll zeigt an, dass der Dateiname im Photoarray korrekt ist, aber sobald es außerhalb dieser Funktion ist, verschwindet es, obwohl es als global deklariert ist, ich denke es ist trotzdem. Warum und was muss ich tun, um das zu beheben?
Die PHP-Datei macht nur eine SELECT * FROM ..... und gibt alles zurück.
// in fhs_get_photos.php
// SELECT * FROM table......
echo $json = json_encode($result);
return $json;
So habe ich jetzt das Array zurück, aber es ist in Javascript. Wenn ich das Scope-Problem herausgefunden habe, wie kann ich dieses Javascript-Array in ein PHP-Array konvertieren?
<h3>Welcome to the Historical Society's historical photo archive
</h3>
</header>
<figure id="photo_figure">
<script>
//line below gets me: SCRIPT5007: Unable to get property 'thumb' of
//undefined or null reference
console.log("photoarray thumb: ") + photoarray[0]['thumb'];
</script>
Erkläre ich das richtig?
Wenn Sie Ajax entscheiden, gibt es keine Weitergabe wieder PHP, PHP-render bereits geschehen ist und es sei denn, Sie aktualisieren, won't wieder passieren .Sie müssen das Dom, das Sie in Ihrer Erfolgsfunktion mit den neuen Daten benötigen, manuell bearbeiten/erstellen – juvian
Ich verstehe nicht, warum müssen Sie js-Array in PHP-Array konvertieren und wo sollte es geschehen? Ihre Antwort kommt als JSON, Sie müssen es analysieren "photoarray = JSON.parse (photo_array)". Danach ist es zu verwenden, wenn es im globalen Bereich gespeichert wird - dann sollte es für andere Skripte sichtbar sein (wenn sie ausgeführt werden, nachdem die Antwort erhalten wurde) –
@juvian Siehe meine Klarstellung. Wie kann ich das dom mit php mit den Daten im javascript array erstellen? – eric