Rumah >pembangunan bahagian belakang >tutorial php >Mengapakah Data Permintaan Axios POST Tiada daripada Pembolehubah $POST dan $REQUEST PHP?
Parameter Penyiaran Axios Tidak Tersedia dalam Pembolehubah PHP
Coretan kod ini menggunakan perpustakaan Axios untuk membuat permintaan POST, menetapkan pengepala Jenis Kandungan ke application/x-www-form-urlencoded:
axios({ method: 'post', url, headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, data: { json, type, } })
Walau bagaimanapun, pembolehubah PHP yang setara, $_POST dan $_REQUEST, kekal kosong selepas permintaan. Sebaliknya, file_get_contents("php://input") nampaknya menerima data.
Punca dan Penyelesaian
Percanggahan timbul daripada cara Axios mensiri data secara lalai . Ia menukar objek JavaScript kepada JSON, yang PHP tidak menyokong secara asli untuk mengisi $_POST. PHP hanya menerima format boleh diproses mesin yang disokong oleh borang HTML: application/x-www-form-urlencoded dan multipart/form-data.
Untuk menangani perkara ini, anda mempunyai beberapa pilihan:
Pelayar:
Gunakan API URLSearchParams:
var params = new URLSearchParams(); params.append('param1', 'value1'); params.append('param2', 'value2'); axios.post('/foo', params);
Gunakan perpustakaan qs :
var qs = require('qs'); axios.post('/foo', qs.stringify({ 'bar': 123 }));
Menyesuaikan PHP:
Atas ialah kandungan terperinci Mengapakah Data Permintaan Axios POST Tiada daripada Pembolehubah $POST dan $REQUEST PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!