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
544 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!

sumber:php.cn
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