Heim >Backend-Entwicklung >PHP-Tutorial >Informationen zum Empfangen von Daten von der iOS-Seite über die Schnittstelle unter dem yii2-Framework
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
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: