Heim PHP-Framework Denken Sie an PHP Was soll ich tun, wenn thinkphp5 post den Wert nicht abrufen kann?

Was soll ich tun, wenn thinkphp5 post den Wert nicht abrufen kann?

Dec 06, 2022 am 09:29 AM
thinkphp5

thinkphp5-Beitrag kann keinen Wert erhalten, da TP5 die strpos-Funktion verwendet, um die app/json-Zeichenfolge im Inhaltstypwert des Headers zu finden. Die Lösung besteht darin, den Inhaltstypwert des Headers auf app/json zu setzen.

Was soll ich tun, wenn thinkphp5 post den Wert nicht abrufen kann?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, ThinkPHP Version 5, Dell G3-Computer.

thinkphp5 Was soll ich tun, wenn mein Beitrag keinen Wert erhält?

Lösung für das Problem, dass ThinkPHP5 die vom Client übergebenen Json-Parameter nicht empfangen kann. Ich habe in dieser Zeit einen Kurs aus dem Internet besucht und ihn besucht Noch einmal Dozent und der gesamte Prozess verlief reibungslos. In dieser Situation war das Problem, dass ich beim Testen einer bestimmten Post-Schnittstelle der API auftrat, unabhängig davon, wie ich die Anfrage gesendet habe Ich wurde immer darauf hingewiesen, dass die Parameterüberprüfung fehlgeschlagen ist. Ich habe die Methode zum Übergeben von Parametern über die Body-Tabelle und die API auf magische Weise verwendet. Es hat funktioniert, also habe ich zuvor festgestellt, dass es ein Problem mit der Json-Übertragung gab, also habe ich alle durchsucht über das Internet, aber es gab keine Lösung [aber ich habe zwei Wissenspunkte erhalten und sie am Ende des Artikels platziert].

Was das Problem von TP5 betrifft: Wenn es nicht funktioniert, kann ich nur den Quellcode überprüfen, also habe ich den Fehler Stück für Stück verfolgt und schließlich das Problem entdeckt ~

Es stellt sich heraus, dass TP5 die strpos-Funktion verwendet Suchen Sie im Header nach der Zeichenfolge „app/json“ im Inhaltstypwert des Headers. Dies bedeutet, dass Sie den Inhaltstypwert des Headers auf „app/json“ festlegen müssen, da TP5 sonst nicht davon ausgeht, dass Sie einen Json-Parameter übergeben Geben Sie es an Request::post. Setzen Sie den Wert auf leer.

Das Obige löst das Problem, dass TP5 die vom Client Post übergebenen Json-Parameter nicht empfangen kann.

Zwei Wissenspunkte:

Der Daten-PHP, dessen Inhaltstyp „application/json“ ist, kann nicht direkt erkannt werden, daher ist das $_POST-Array leer. Lösung: Wir müssen nur $GLOBALS['HTTP_RAW_POST_DATA'] verwenden, um die Originaldaten herauszunehmen, und sie dann mit json_dekodieren. [Mit dieser Methode müssen Sie den Wert „always_populate_raw_post_data“ in php.ini auf „On“ setzen die Originaldaten der POST-Daten. Dies ist jedoch keine superglobale Variable. Um sie in einer Funktion zu verwenden, muss sie als global deklariert werden oder stattdessen $GLOBALS['HTTP_RAW_POST_DATA'] verwendet werden. ];
  • Sie können file_get_contents('php://input') anstelle der oben genannten Methode verwenden, um die eingehenden Json-Parameter direkt abzurufen [Als ich den TP5-Quellcode las, stellte ich fest, dass sie diese Methode auch zum Abrufen verwenden der Anfangswert] .
  • Empfohlenes Lernen: „
  • thinkPHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn thinkphp5 post den Wert nicht abrufen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was soll ich tun, wenn ich beim Bereitstellen von thinkphp5 in Pagoda eine Fehlermeldung erhalte? Was soll ich tun, wenn ich beim Bereitstellen von thinkphp5 in Pagoda eine Fehlermeldung erhalte? Dec 19, 2022 am 11:04 AM

Lösung für den bei der Bereitstellung von thinkphp5 in Pagoda gemeldeten Fehler: 1. Öffnen Sie den Pagoda-Server, installieren Sie die PHP-Pathinfo-Erweiterung und aktivieren Sie sie. 2. Konfigurieren Sie die Datei „.access“ mit dem Inhalt „RewriteRule ^(.*)$ index.php ?s=/$1 [QSA ,PT,L]“; 3. Aktivieren Sie in der Website-Verwaltung einfach die Pseudostatik von thinkphp.

Was soll ich tun, wenn das Umschreiben der thinkphp5-URL fehlschlägt? Was soll ich tun, wenn das Umschreiben der thinkphp5-URL fehlschlägt? Dec 12, 2022 am 09:31 AM

Lösung dafür, dass das Umschreiben von thinkphp5-URLs nicht funktioniert: 1. Überprüfen Sie, ob das Modul mod_rewrite.so in der Konfigurationsdatei httpd.conf geladen ist. 2. Ändern Sie None in AllowOverride None in All. 3. Ändern Sie die Apache-Konfigurationsdatei .htaccess in „RewriteRule ^“. (.*)$ index.php [L,E=PATH_INFO:$1]“ und speichern Sie es.

So erhalten Sie die angeforderte URL in thinkphp5 So erhalten Sie die angeforderte URL in thinkphp5 Dec 20, 2022 am 09:48 AM

Methoden für thinkphp5 zum Abrufen der angeforderten URL: 1. Verwenden Sie die Methode „$request = Request::instance();“ der Klasse „\think\Request“, um die aktuellen URL-Informationen abzurufen Funktion „$request->url()“, um die vollständige URL-Adresse einschließlich des Domainnamens zu erhalten.

Was soll ich tun, wenn thinkphp5 post den Wert nicht abrufen kann? Was soll ich tun, wenn thinkphp5 post den Wert nicht abrufen kann? Dec 06, 2022 am 09:29 AM

thinkphp5-Beitrag kann keinen Wert abrufen, da TP5 die strpos-Funktion verwendet, um den app/json-String im Inhaltstypwert des Headers zu finden. Die Lösung besteht darin, den Inhaltstypwert des Headers auf app/json zu setzen.

So entfernen Sie das Titelleistensymbol von thinkphp5 So entfernen Sie das Titelleistensymbol von thinkphp5 Dec 20, 2022 am 09:24 AM

So entfernen Sie das thinkphp5-Titelleistensymbol: 1. Suchen Sie die Datei favicon.ico unter dem öffentlichen thinkphp5-Framework. 2. Löschen Sie die Datei oder wählen Sie ein anderes Bild aus, um sie in favicon.ico umzubenennen und die ursprüngliche Datei favicon.ico zu ersetzen.

Was soll ich tun, wenn thinkphp5 meldet, dass der Controller nicht existiert? Was soll ich tun, wenn thinkphp5 meldet, dass der Controller nicht existiert? Dec 06, 2022 am 10:43 AM

Lösung für die Meldung thinkphp5, dass der Controller nicht existiert: 1. Überprüfen Sie, ob der Namespace im entsprechenden Controller korrekt geschrieben ist, und ändern Sie ihn in den richtigen Namespace. 2. Öffnen Sie die entsprechende tp-Datei und ändern Sie den Klassennamen.

So fragen Sie die Daten von gestern in ThinkPHP5 ab So fragen Sie die Daten von gestern in ThinkPHP5 ab Dec 05, 2022 am 09:20 AM

So fragen Sie die Daten von gestern in ThinkPHP5 ab: 1. Öffnen Sie ThinkPHP5-bezogene Dateien. 2. Fragen Sie die Daten von gestern über den Ausdruck „db('table')->whereTime('c_time', 'yesterday')->select();“ ab .

So legen Sie Fehlermeldungen in thinkphp5 fest So legen Sie Fehlermeldungen in thinkphp5 fest Dec 07, 2022 am 10:31 AM

So legen Sie Fehleraufforderungen in thinkphp5 fest: 1. Geben Sie den öffentlichen Ordner im Projektstammverzeichnis ein und öffnen Sie die Eintragsdatei index.php. 2. Sehen Sie sich die Kommentare zum Debug-Modus-Schalter an. 3. Passen Sie den Wert der Konstante „APP_DEBUG“ an auf „true“ setzen, um eine Fehlermeldung anzuzeigen.

See all articles