Heim >Backend-Entwicklung >PHP-Tutorial >Informationen zum Empfangen von Daten von der iOS-Seite über die Schnittstelle unter dem yii2-Framework

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

WBOY
WBOYOriginal
2016-08-31 08:54:551444Durchsuche

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>

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>
Post-Anfragemethode:

<code>$value = Yii::$app->request->post("参数名");</code>
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>
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:

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