Penyelesaian kepada masalah yang php tidak dapat menerima nilai ios: 1. Tetapkan afn kepada "Content-Type" 2. Tukar "$_POST" kepada "json_decode(file_get_contents('php://input') , benar)"; 3. Padamkan "manager.requestSerializer = [AFJSONRequestSerializer serializer];".
Persekitaran pengendalian tutorial ini: sistem macOS10.12.5, PHP versi 8.1, komputer macbook pro 2020.
Apakah yang perlu saya lakukan jika php tidak dapat menerima nilai ios? PHP tidak boleh menerima permintaan POST daripada iOS?
Premis utama ===》Persekitaran: komputer mac, persekitaran bersepadu mamp, alat pembangunan ribut web, iOS menggunakan xcode.
Perihalan masalah:
PHP menulis antara muka untuk permintaan GET baik, tetapi permintaan POST tidak boleh mendapatkan data
Panduan:
1 , Pada mulanya saya fikir ia adalah persekitaran mamp, atau terdapat sesuatu yang tidak kena dengan persekitaran ribut web, dan pelbagai konfigurasi carian tidak berfungsi.
2. Cari masalah melalui kod, cuba gunakan posmen, atau tulis penyerahan pos borang yang mudah, anda boleh melihat dengan jelas data badan siaran yang betul. Oleh itu, saya mengesyaki bahawa terdapat masalah pada bahagian iOS, dan data output mungkin hilang, jadi saya menggunakan Charles Blue dan White Porcelain untuk menangkap paket dan mendapati bahawa badan itu mempunyai data. Ini adalah soalan. Nampaknya tiada masalah pada PHP dan iOS.
Kemudian saya melihat dengan teliti dan menemui dua penyelesaian:
a Perubahan pada iOS: afn set Content-Type untuk penghantaran data ditukar kepada application/x-www-form-urlencoded, PHP boleh menggunakan $_POST untuk menerima data seperti biasa. (Kemudian telah terbukti bahawa kaedah ini tidak berfungsi...)
b, daripada menggunakan $_POST, ia juga mungkin untuk menukar kepada json_decode(file_get_contents('php://input'), true ) di sebelah PHP.
c, sebenarnya, apabila afn memulakan pengurus, alih keluar manager.requestSerializer = [AFJSONRequestSerializer serializer]; ! ! ! !
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika php tidak dapat menerima nilai ios?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!