Apabila menyerahkan borang, anda mungkin menghadapi persoalan tentang cara menghantar data menggunakan API Ambil. Secara lalai, menggunakan FormData untuk menghantar badan menyebabkan data dihantar sebagai berbilang bahagian/data-bentuk. Walau bagaimanapun, jika anda ingin menghantar data sebagai application/x-www-form-urlencoded, terdapat beberapa pilihan yang tersedia.
Menggunakan FormData secara automatik mengunci anda untuk menghantar data dalam format berbilang bahagian/data bentuk. Untuk mengelakkan ini, anda boleh membuat rentetan berkod URL atau objek URLSearchParams secara manual, dan bukannya menggunakan FormData. Di bawah ialah coretan kod yang berulang melalui elemen borang dan membina objek URLSearchParams:
const data = new URLSearchParams(); for (const pair of new FormData(formElement)) { data.append(pair[0], pair[1]); } fetch(url, { method: 'post', body: data, }) .then(…);
Nota: Anda tidak perlu menentukan pengepala Jenis Kandungan secara eksplisit.
Satu lagi pilihan percubaan adalah untuk mencipta objek URLSearchParams dan lulus objek FormData secara langsung, bukannya menggelung melalui nilai:
const data = new URLSearchParams(new FormData(formElement));
Walaupun kaedah ini mempunyai beberapa sokongan percubaan dalam penyemak imbas, adalah disyorkan untuk menguji dengan teliti sebelum menggunakannya.
Atas ialah kandungan terperinci Bagaimana untuk Menghantar Data Borang sebagai `application/x-www-form-urlencoded` dengan API Ambil?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!