So empfangen Sie von Ajax übermittelte Array-Parameter in PHP
Beim Schreiben von Webanwendungen müssen Sie häufig Ajax zum Senden von Formularen verwenden oder komplexe Datentypen wie Arrays zur Verarbeitung verwenden. In PHP ist es einfach, Parameter grundlegender Datentypen zu empfangen, der Empfang von Parametern vom Array-Typ erfordert jedoch eine spezielle Verarbeitung. Der nächste Artikel führt Sie zu einer ausführlichen Diskussion darüber, wie PHP von Ajax übermittelte Array-Parameter empfängt.
1. Mehrere Möglichkeiten, Arrays mit Ajax zu übermitteln
- Serialisierung verwenden
Wenn der Client Tools wie jQuery verwendet, um Ajax-Anfragen zu stellen, kann das Array serialisiert und übermittelt werden. Zum Beispiel das folgende Beispiel:
var data = { name: 'John', age: 25, hobbies: ['swimming', 'reading', 'coding'] }; $.ajax({ type: 'POST', url: 'test.php', data: {myData: JSON.stringify(data)}, success: function(res) { console.log(res); } });
Auf der Serverseite können Sie die Funktion json_decode() verwenden, um den empfangenen JSON-String wie folgt in einem Array wiederherzustellen:
$data = json_decode($_POST['myData'], true); $name = $data['name']; $age = $data['age']; $hobbies = $data['hobbies'];
Diese Methode ist einfach und direkt, aber Sie müssen es tun Achten Sie auf Folgendes: Die Menge der übermittelten Daten Es darf nicht zu groß sein, da es sonst die Leistung beeinträchtigt.
- FormData verwenden
Durch die Verwendung von FormData-Objekten kann eine flexiblere Formulardatenübermittlung erreicht werden. Zum Beispiel das folgende Beispiel:
var data = { name: 'John', age: 25, hobbies: ['swimming', 'reading', 'coding'] }; var formData = new FormData(); formData.append('name', data.name); formData.append('age', data.age); $.each(data.hobbies, function(index, item) { formData.append('hobbies[]', item); }); $.ajax({ type: 'POST', url: 'test.php', data: formData, contentType: false, processData: false, success: function(res) { console.log(res); } });
Auf der Serverseite können Sie $_POST und $_FILES verwenden, um die von FormData übermittelten Daten wie folgt zu empfangen:
$name = $_POST['name']; $age = $_POST['age']; $hobbies = $_POST['hobbies'];
Es ist zu beachten, dass die Parameter contentType und processData festgelegt werden müssen auf „false“ setzen, andernfalls schlägt die Übermittlung fehl.
- Array direkt übergeben
Wenn Sie Tools wie jQuery für die Ajax-Übermittlung verwenden, können Sie das Array direkt an den Datenparameter übergeben. Zum Beispiel das folgende Beispiel:
var data = { name: 'John', age: 25, hobbies: ['swimming', 'reading', 'coding'] }; $.ajax({ type: 'POST', url: 'test.php', data: data, success: function(res) { console.log(res); } });
Auf der Serverseite können Sie $_POST verwenden, um Array-Typ-Parameter wie folgt zu empfangen:
$name = $_POST['name']; $age = $_POST['age']; $hobbies = $_POST['hobbies'];
Diese Methode ist einfach und effizient, aber nicht flexibel genug.
2. Array-Parameter empfangen
Egal auf welche Weise Sie die Array-Parameter übermitteln, der Server benötigt eine spezielle Verarbeitung. PHP bietet mehrere Methoden zum Empfangen von Array-Parametern.
- Verwenden Sie $_POST
Wenn Sie Serialisierung verwenden oder ein Array direkt für die Ajax-Übermittlung übergeben, können Sie $_POST verwenden, um Array-Parameter wie folgt zu empfangen:
$name = $_POST['name']; $age = $_POST['age']; $hobbies = $_POST['hobbies'];
Es ist zu beachten, dass PHP nur die ersten 1000 empfängt standardmäßig Array-Elemente; wenn ein mehrdimensionales Array übermittelt wird, muss es außerdem im JSON-Format verarbeitet werden.
- Verwenden Sie file_get_contents
Wenn die Menge der übermittelten Daten relativ groß ist, können Sie die Funktion file_get_contents verwenden, um Array-Parameter wie folgt zu empfangen:
$data = file_get_contents('php://input'); $jsonData = json_decode($data, true); $name = $jsonData['name']; $age = $jsonData['age']; $hobbies = $jsonData['hobbies'];
Diese Methode kann eine große Datenmenge empfangen und ist flexibler.
- Verwenden Sie php://input
Verwenden Sie php://input, um auch Array-Parameter zu empfangen, wie folgt:
$data = file_get_contents('php://input'); parse_str($data, $arrayData); $name = $arrayData['name']; $age = $jsonData['age']; $hobbies = $arrayData['hobbies'];
Es ist zu beachten: Die auf diese Weise empfangenen Daten sind alle String-Typen und müssen es auch sein Einige Typkonvertierungen wurden verarbeitet.
3. Zusammenfassung
Wenn Sie Ajax zum Übermitteln von Array-Parametern verwenden, müssen Sie auf Aspekte wie die Übertragungsmethode, die Empfangsmethode und die Datenmenge achten. Wenn die Datenmenge klein ist, können Sie sie mithilfe von Serialisierung oder FormData übermitteln. Wenn die Datenmenge groß ist, können Sie sie mit Funktionen wie file_get_contents und parse_str empfangen. Ich glaube, dass die Leser durch die Einleitung dieses Artikels bereits verstanden haben, wie PHP von Ajax übermittelte Array-Parameter empfängt. Es ist jedoch zu beachten, dass im Code einige Filter und Überprüfungen vorgenommen werden müssen, um die Sicherheit der Daten zu verbessern.
Das obige ist der detaillierte Inhalt vonSo empfangen Sie von Ajax übermittelte Array-Parameter in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In dem Artikel werden OWASP Top 10 Schwachstellen in PHP- und Minderungsstrategien erörtert. Zu den wichtigsten Problemen gehören die Injektion, die kaputte Authentifizierung und XSS mit empfohlenen Tools zur Überwachung und Sicherung von PHP -Anwendungen.

Die JIT -Kompilierung von PHP 8 verbessert die Leistung, indem häufig ausgeführte Code in den Maschinencode zusammengestellt wird, um Anwendungen mit schweren Berechnungen zugute und die Ausführungszeiten zu reduzieren.

In dem Artikel wird das Sicherung von PHP -Dateien -Uploads erläutert, um Schwachstellen wie die Code -Injektion zu verhindern. Es konzentriert sich auf die Dateitypvalidierung, den sicheren Speicher und die Fehlerbehandlung, um die Anwendungssicherheit zu verbessern.

In dem Artikel wird die symmetrische und asymmetrische Verschlüsselung in PHP erörtert und ihre Eignung, Leistung und Sicherheitsunterschiede verglichen. Die symmetrische Verschlüsselung ist schneller und für Massendaten geeignet, während asymmetrisch für den sicheren Schlüsselaustausch verwendet wird.

In dem Artikel wird die Implementierung einer robusten Authentifizierung und Autorisierung in PHP erörtert, um den nicht autorisierten Zugriff zu verhindern, Best Practices zu beschreiben und sicherheitsrelevante Tools zu empfehlen.

In dem Artikel werden Strategien erörtert, um CSRF-Angriffe in PHP zu verhindern, einschließlich der Verwendung von CSRF-Token, selben Cookies und ordnungsgemäßem Sitzungsmanagement.

In dem Artikel werden Strategien zur Implementierung der API-Rate in PHP erörtert, einschließlich Algorithmen wie Token-Bucket und Leaky Bucket sowie Bibliotheken wie Symfony/Rate-Limiter. Es deckt auch die Überwachung, die dynamischen Einstellungsgeschwindigkeiten und die Hand ab

In Artikel werden Best Practices für die Validierung der PHP-Eingabe erörtert, um die Sicherheit zu verbessern und sich auf Techniken wie die Verwendung integrierter Funktionen, den Whitelist-Ansatz und die serverseitige Validierung zu konzentrieren.
