1 Masalah
Selepas menyerahkan borang, gunakan request->param() atau $this->request->param() Data pos tidak boleh diperolehi dan tatasusunan kosong diperolehi.
2. Punca masalah
Atribut enctype tidak ditetapkan dalam bentuk
Apabila borang diserahkan, jika atribut enctype tidak ditetapkan, kaedah penghantaran data lalai ialah application/x-www-form-urlencoded. Data kini akan diletakkan dalam pengepala permintaan HTTP dan bukannya badan permintaan. Oleh itu, apabila mendapatkan data siaran, kita perlu menggunakan $this->request->post() atau request()->post().
Tiada pengepala permintaan ditetapkan semasa memanggil antara muka
Apabila memanggil antara muka, kita perlu menetapkan pengepala permintaan yang sepadan, seperti Kandungan -Jenis: aplikasi /json, jika tidak pelayan tidak boleh menghuraikan data. Jika Content-Type tidak ditetapkan, pelayan lalai kepada application/x-www-form-urlencoded, dan pada masa ini data pos akan diletakkan dalam pengepala permintaan http dan bukannya badan permintaan, mengakibatkan ketidakupayaan untuk mendapatkan menyiarkan data dengan betul.
3. Penyelesaian
Tetapkan atribut enctype
Tambah enctype=" dalam borang multipart/form-data", supaya data pos dapat diperoleh dengan betul.
Tetapkan pengepala permintaan
Apabila memanggil antara muka, anda boleh menggunakan curl untuk menetapkan pengepala permintaan. Kod sampel adalah seperti berikut:
$data = array( 'username' => 'admin', 'password' => '123456' ); $url = 'http://www.example.com/login'; $ch = curl_init(); $header = array( 'Content-Type: application/json', 'Content-Length: '.strlen(json_encode($data)) ); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $res = curl_exec($ch); curl_close($ch);
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah yang thinkphp tidak boleh mendapatkan data pos. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!