Mengapa Axios POST Tidak Mengisi $_POST dalam PHP dengan Data JSON?

Linda Hamilton
Lepaskan: 2024-10-23 01:04:30
asal
441 orang telah melayarinya

Why Doesn't Axios POST Populate $_POST in PHP with JSON Data?

Parameter Axios POST Tidak Mengisi $_POST

Apabila menggunakan Axios untuk melaksanakan permintaan POST dengan muatan yang terdiri daripada data JSON, PHP mungkin tidak tafsirkan parameter dengan betul daripada $_POST atau $_REQUEST. Sebaliknya, data permintaan selalunya boleh diakses melalui file_get_contents("php://input").

Punca Punca:

Secara lalai, Axios menyerikan objek JavaScript kepada JSON . PHP, walau bagaimanapun, tidak menyokong JSON sebagai format data asli untuk populasi $_POST. Ia hanya menerima format boleh diproses mesin yang disokong oleh borang HTML:

  • application/x-www-form-urlencoded
  • multipart/form-data

Penyelesaian:

Untuk menyelesaikan isu ini, anda boleh mengubah suai permintaan Axios untuk menghantar data dalam format application/x-www-form-urlencoded, yang PHP boleh kendalikan dengan betul. Terdapat dua pilihan utama:

1. Menggunakan API URLSearchParams (Pelayar Sahaja):

var params = new URLSearchParams();
params.append('param1', 'value1');
params.append('param2', 'value2');
axios.post('/foo', params);
Salin selepas log masuk

2. Menggunakan Perpustakaan qs (Node.js):

var qs = require('qs');
axios.post('/foo', qs.stringify({ 'bar': 123 }));
Salin selepas log masuk

Kaedah ini memastikan data permintaan disiri dengan betul kepada format aplikasi/x-www-form-urlencoded, menjadikannya boleh diakses melalui $_POST dalam PHP.

Sebagai alternatif, anda boleh mengubah suai PHP untuk mengendalikan JSON sebagai format data yang sah untuk $_POST, tetapi pendekatan ini kurang disyorkan.

Atas ialah kandungan terperinci Mengapa Axios POST Tidak Mengisi $_POST dalam PHP dengan Data JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber: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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!