Heim >Backend-Entwicklung >PHP-Tutorial >So senden Sie JSON-Daten von JavaScript an PHP: Zwei effektive Ansätze?

So senden Sie JSON-Daten von JavaScript an PHP: Zwei effektive Ansätze?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-14 12:55:02244Durchsuche

How to Send JSON Data from JavaScript to PHP: Two Effective Approaches?

Senden von JSON-Daten von Javascript an PHP

Die Herausforderung entsteht, wenn versucht wird, JSON-Daten aus der Javascript-Umgebung eines Browsers an einen Server weiterzuleiten, auf dem PHP läuft werde es interpretieren. Um dieses Problem anzugehen, haben sich zwei Ansätze als wirksam erwiesen:

Version 1: Nutzung des application/json Request Header

  1. Konvertieren Sie das Javascript-Objekt mithilfe von JSON in einen JSON-String .stringify().
  2. Verwenden Sie XMLHttpRequest, um die JSON-Zeichenfolge an den Server zu senden.
  3. Rufen Sie auf der PHP-Seite die POST-Rohdaten mit file_get_contents('php://input') ab.

Version 2: Verwendung von application/x-www-form-urlencoded

  1. Erstellen Sie eine Standard-POST-Zeichenfolge im Format „Variablenname=Wert&Variablenname_2=“. value_2".
  2. In Javascript weisen Sie diese Zeichenfolge str_json zu.
  3. In PHP wird das $_POST-Array von PHP beim Empfang der POST-Daten gefüllt.

Zu vermeidende Fallstricke

Zunächst kann der Versuch, JSON-Strings mit dem falschen Anforderungsheader zu übermitteln, zu Schwierigkeiten führen. Die Verwendung von application/x-www-form-urlencoded mit dem $_POST-Array in PHP führt zu einem leeren Array. Umgekehrt erfordert die Verwendung von application/json den Zugriff auf POST-Rohdaten über php://input.

Referenzen

  • [Wie greife ich in PHP auf POST-Daten zu?] (https://stackoverflow.com/questions/4199290/how-to-access-post-data-in-php)
  • [IETF RFC 4627: The application/json Media Type for JavaScript Object Notation (JSON )](http://www.ietf.org/rfc/rfc4627.txt)

Das obige ist der detaillierte Inhalt vonSo senden Sie JSON-Daten von JavaScript an PHP: Zwei effektive Ansätze?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn