Rumah >hujung hadapan web >tutorial js >Mengapa pembolehubah AngularJS HTTP POST saya tidak ditentukan dalam skrip PHP saya?

Mengapa pembolehubah AngularJS HTTP POST saya tidak ditentukan dalam skrip PHP saya?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-02 04:43:13729semak imbas

Why are my AngularJS HTTP POST variables undefined in my PHP script?

AngularJS HTTP Post to PHP: Menangani Pembolehubah Tidak Ditakrifkan

Kod AngularJS anda mengalami isu di mana data yang disiarkan ke skrip PHP kelihatan tidak ditentukan . Untuk menyelesaikan masalah ini, kami perlu menyelidiki butirannya.

Dalam kod AngularJS anda, anda telah menentukan permintaan HTTP POST dengan pengepala Jenis Kandungan "application/x-www-form-urlencoded". Walau bagaimanapun, data anda tidak diformatkan sebagai rentetan pertanyaan. PHP bergantung pada $_POST untuk menerima data berkod bentuk, yang memerlukan data diformatkan sebagai pasangan nilai kunci.

Untuk menyelesaikan isu ini, terdapat dua pilihan:

Pilihan 1: Gunakan JSON

AngularJS lalai untuk menggunakan pengepala Jenis Kandungan "application/json" untuk Permintaan HTTP. Anda boleh memanfaatkan ini dengan membaca input mentah dalam PHP dan menyahsiri JSON. Ini boleh dilakukan menggunakan kod PHP berikut:

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

Pilihan 2: Format Rentetan Pertanyaan Secara Manual

Jika anda lebih suka menggunakan $_POST, anda boleh memformatkan secara manual anda data sebagai rentetan pertanyaan. Pastikan ia dikodkan URL. Dalam JavaScript, anda boleh mencapai ini menggunakan:

let data = "email=" + encodeURIComponent($scope.email) + "&password=" + encodeURIComponent($scope.password);

Tetapkan data permintaan HTTP kepada rentetan pertanyaan berformat ini dan bukannya format semasa. Dengan pelarasan ini, permintaan AngularJS HTTP POST anda akan menghantar data dengan betul ke skrip PHP anda, menyelesaikan isu pembolehubah tidak ditentukan.

Atas ialah kandungan terperinci Mengapa pembolehubah AngularJS HTTP POST saya tidak ditentukan 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