Wie genau verwenden Sie json_decode zu übergeben, javascript array an php?
Dies ist, wie ich meine php-array an javascript
echo 'var daysofweek = '.json_encode($daysofweek).';';
Nun ich bin mir bewusst, dass json_decode kann das Gegenteil tun, aber das problem ist ich kenne nicht die syntax, dies zu tun.
Habe ich versucht:
<script>
var array_days = new Array();
array_days[] = "psdfo";
array_days[] = "bsdf";
<?php
$array_days = json_decode(?>array_days<?php);?>
</script>
ja im ahnungslosen.
Ich vergaß zu erwähnen, dass ich senden möchten, die ein array mittels post, dass alle meine Informationen über alle Formular-Werte dynamisch erstellt, die mittels javascript. Ansonsten wüsste ich nicht, welcher name="" zu suchen, wie es sein wird, entscheidet der Benutzer. Es sei denn, jemand hat sonst noch eine alternative Lösung...
InformationsquelleAutor Adam | 2010-12-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin ahnungslos in dieses Teil... ist dieses javascript? wenn dem so ist, brauchst du einen JSON-Parser, wie der JSON2.js https://github.com/douglascrockford/JSON-js
diese Datei erstellt ein Javascript-JSON-Objekt, mit dem Sie zum Parsen der JSON-string in ein Javascript-Objekt. (Sie können immer mit eval (), aber es wird nicht verhindern, dass gegen möglichen bösartigen code,...) oder anders herum... aus einem Javascript-Objekt verwandeln, in einen JSON-string.
Nach der Umstellung auf eine JSON-Zeichenfolge, die Sie gerade brauchen, um das senden der Daten über AJAX an eine PHP-Datei, wie:
(Ich bin mit jQuery zu sparen, Linien...)
Dann auf die php_file.php Sie hätte so etwas wie dieses:
InformationsquelleAutor Couto
PHP ist ein pre-Prozessor und nicht tun können, was Sie gefragt haben. Benötigt man die PHP-engine verarbeiten zu können, werden die javascript auf der Seite. json_decode ist für die Dekodierung von json-Zeichenfolge in PHP.
Zu tun, die Sie hätten, zu übergeben, javascript array an ein PHP-Skript mit so etwas wie Ajax, damit Ihr PHP-Skript verarbeitet werden Sie sowieso brauchen würde, dann übergeben Sie das Ergebnis an Ihren Javascript-code.
InformationsquelleAutor wajiw
Ja als Wajiw gesagt, PHP ist pre-Prozessor. Aber ich denke, es könnte möglich sein, mit der ajaxed Anfrage.
Senden Sie das Javascript-array als argument verlangen auf die andere Seite und verarbeiten es mit der php, und wieder Anzeige die Ergebnisse zurück.
Hinweis: Nie ausprobiert 🙂
Dank
InformationsquelleAutor Chetan Sharma
Zunächst:
Diese Linien werden von gültigen PHP-aber kein gültiges JavaScript. Das richtige äquivalent wäre:
Auf die Weitergabe der entstehenden array von strings (das ist was ich nehme) zu PHP. Zum versenden von Formulardaten in reinen JS, erstellen wir versteckten input-Elemente, wenn das Formular abgeschickt wird (versuchen Sie es):
PHP interpretiert jede Eingabe mit dem Namen von
array_days[]
als ein array-element von$_POST['array_days']
. Zum Beispiel können Sie den Zugriff$_POST['array_days'][0]
in PHP.Für AJAX, jQuery 1.4 und höher automatisch erzielen diesen Effekt, wenn Sie übergeben Sie ein array als data-parameter zu
$.ajax
.Warum nicht
json_decode()
? Die Antwort ist, dass ältere Versionen von web-Browsern nicht unterstützt wird die JavaScript-FunktionJSON.stringify()
ist identisch zu PHP ' sjson_encode()
, obwohl es eine Bibliothek zum hinzufügen von Unterstützung. Man könnte überlegen, es für einen komplexeren Fall, aber für solch einen einfachen Fall, es sollte nicht notwendig sein.InformationsquelleAutor PleaseStand