Rumah > pembangunan bahagian belakang > tutorial php > Mengapa pembolehubah AngularJS $http.post() saya tidak ditentukan dalam skrip PHP saya?

Mengapa pembolehubah AngularJS $http.post() saya tidak ditentukan dalam skrip PHP saya?

Linda Hamilton
Lepaskan: 2024-12-22 16:22:14
asal
630 orang telah melayarinya

Why are my AngularJS $http.post() variables undefined in my PHP script?

AngularJS: HTTP POST Undefined Variables dengan PHP

Apabila menyerahkan borang AngularJS menggunakan $http.post(), pembolehubah diterima oleh PHP skrip mungkin kelihatan sebagai tidak ditentukan, walaupun menerima 200 OK respons.

Sebab

Secara lalai, AngularJS menetapkan pengepala Content-Type kepada aplikasi/json untuk permintaan HTTP POST. Walau bagaimanapun, jika muatan berkod borang dihantar dan bukannya data JSON, PHP tidak akan mengisi tatasusunan $_POST seperti yang dijangkakan.

Penyelesaian

Terdapat dua penyelesaian utama:

  1. Gunakan JSON Lalai Pengepala:

    • Kekalkan pengepala Jenis Kandungan lalai bagi aplikasi/json.
    • Dalam PHP, baca input mentah dan nyahseri data JSON menggunakan json_decode().
  2. Hantar Borang-Dikodkan Data:

    • Tetapkan pengepala Jenis Kandungan kepada application/x-www-form-urlencoded.
    • Buat rentetan pertanyaan secara manual seperti email=example@email. com&password=secret dan hantarkannya sebagai muatan data.
    • Pastikan untuk mengekod URL rentetan pertanyaan menggunakan encodeURIComponent().

Contoh PHP Diubah Suai

Untuk penyelesaian kedua:

$query_string = file_get_contents("php://input");
parse_str($query_string, $data);
$email = $data['email'];
$password = $data['password'];
Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan