Rumah >hujung hadapan web >tutorial js >Mengapa Pembolehubah POST AngularJS Saya Tidak Ditakrifkan dalam Skrip PHP Saya?

Mengapa Pembolehubah POST AngularJS Saya Tidak Ditakrifkan dalam Skrip PHP Saya?

Susan Sarandon
Susan Sarandonasal
2024-11-30 12:43:11131semak imbas

Why Are My AngularJS POST Variables Undefined in My PHP Script?

HTTP POST Dihantar daripada AngularJS Menghasilkan Pembolehubah POST Tidak Ditakrifkan dalam PHP

Dalam persediaan kami, aplikasi AngularJS menghantar permintaan HTTP POST kepada PHP skrip, tetapi skrip PHP menerima nilai yang tidak ditentukan untuk POST 'e-mel' dan 'kata laluan' parameter.

Menyahpepijat Punca

Isunya terletak pada ketidakpadanan antara pengepala Jenis Kandungan yang dihantar oleh AngularJS dan format data yang dijangkakan oleh PHP. AngularJS menggunakan aplikasi/json sebagai pengepala Jenis Kandungan lalai, tetapi skrip PHP menjangkakan data yang dikodkan bentuk.

Penyelesaian 1: Gunakan Aplikasi/JSON dalam PHP

Satu penyelesaian ialah menukar tajuk Jenis Kandungan dalam AngularJS kepada aplikasi/json dan gunakan PHP file_get_contents("php://input") untuk mendapatkan semula badan permintaan mentah. Data kemudiannya boleh dinyahsiri daripada JSON.

$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$email = $request->email;
$pass = $request->password;

Penyelesaian 2: Hantar Data Dikodkan Borang

Sebagai alternatif, AngularJS boleh dikonfigurasikan untuk menghantar data berkod borang . Ini melibatkan membina rentetan pertanyaan secara manual atau menggunakan jQuery.serialize(). Rentetan pertanyaan kemudiannya hendaklah dikodkan URL dan ditetapkan sebagai data permintaan.

$email = $_POST['email'];
$pass = $_POST['password'];

Kaedah Dihentikan

Perhatikan bahawa kaedah .success() dan .error() yang disebut dalam kod tidak digunakan lagi. Gunakan .then() sebaliknya.

Atas ialah kandungan terperinci Mengapa Pembolehubah POST AngularJS Saya Tidak Ditakrifkan dalam Skrip PHP Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn