Informationen zum Empfangen von Daten von der iOS-Seite über die Schnittstelle unter dem yii2-Framework

WBOY
Freigeben: 2016-08-31 08:54:55
Original
1419 Leute haben es durchsucht

Verwenden Sie Yii::$app->request->post(); um Daten von iOS zu empfangen, und das Drucken der empfangenen Daten zeigt, dass der Wert null ist. Wenn Sie $_data = empty($_POST) verwenden? Es werden keine Daten empfangen. Hier wird ein Fehler gemeldet. Bitte geben Sie mir einige Hinweise zum Thema Datenempfang

Antwortinhalt:

Verwenden Sie Yii::$app->request->post(); um Daten von iOS zu empfangen, und das Drucken der empfangenen Daten zeigt, dass der Wert null ist. Wenn Sie $_data = empty($_POST) verwenden? Es werden keine Daten empfangen. Hier wird ein Fehler gemeldet. Bitte geben Sie mir einige Hinweise zum Thema Datenempfang

Überprüfen Sie den HTTP-Anforderungsheader von IOS. Es sollte ein Problem mit der Einstellung des Anforderungsheaders vorliegen. Dies geschieht nicht in der iOS-Anfrageschnittstelle für Kinderschuhe unseres Unternehmens.

Möglicherweise wurde das JSON-Format nicht angegeben, als iOS es hochgeladen hat.
Sie können $_SERVER['CONTENT_TYPE'] drucken, um zu sehen, ob es sich um application/json handelt.
Wenn nicht, versuchen Sie es

<code class="php">$_SERVER['CONTENT_TYPE'] = 'application/json';
Yii::$app->request->post();</code>
Nach dem Login kopieren

Dies sollte das von iOS gesendete Anforderungspaket sein, das den Nachrichtentext direkt in eine Nachricht im JSON-Format verpackt.

Die PHP-Seite muss also file_get_contents('php://input') verwenden, um den Nachrichtentext abzurufen.

Ich habe früher iOS-Anforderungsheader erstellt und ihn gefragt, ob die Anforderungsheader eingerichtet sind

Außerdem sollte die formale Methode zum Extrahieren von JSON-Daten so aussehen
$body = Yii::$app-> request-> ;getRawBody();
json_decode($body,true);

Wenn Ihre API auf Basis des Yii2-Frameworks entwickelt wurde, können Sie Daten auf folgende Weise empfangen:

Anfragemethode abrufen:

<code>$value = Yii::$app->request->get("参数名");</code>
Nach dem Login kopieren
Post-Anfragemethode:

<code>$value = Yii::$app->request->post("参数名");</code>
Nach dem Login kopieren
Wenn der Inhaltstyp, wenn der Client Daten überträgt, application/json ist, müssen Sie Folgendes im Anforderungsabschnitt der Datei config.php konfigurieren:

<code>'request' => [
    'cookieValidationKey' => '5opbkVM6PYmVxcyNvHG1wK06fkIh0vYG',
    'parsers' => [
        'application/json' => 'yii\web\JsonParser'
    ],
],</code>
Nach dem Login kopieren
Auf diese Weise können Sie den Wert erfolgreich in Form von JSON übergeben.

Wenn der Client das Objekt in JSON serialisiert und liefert, können Sie das Objekt wie folgt empfangen und in der Datenbank speichern:

Verwandte Etiketten:
php
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!