Rumah  >  Artikel  >  hujung hadapan web  >  Cara Menghantar Data Borang dengan API Ambil: Multipart/form-data vs. Application/x-www-form-urlencoded?

Cara Menghantar Data Borang dengan API Ambil: Multipart/form-data vs. Application/x-www-form-urlencoded?

DDD
DDDasal
2024-11-03 12:51:021024semak imbas

How to Send Form Data with Fetch API: Multipart/form-data vs. Application/x-www-form-urlencoded?

Menghantar Data Borang dengan API Ambil

Latar Belakang

Apabila menggunakan API Ambil untuk menghantar data borang, perkara biasa ditemui isu yang berkaitan dengan Jenis Kandungan dan sempadan yang digunakan semasa pengekodan data. Artikel ini meneroka sifat isu ini dan menyediakan penyelesaian untuk pengekodan berbilang bahagian/data-bentuk lwn. aplikasi/x-www-form-urlencoded.

FormData dan multipart/form-data

Seperti yang dinyatakan dalam dokumentasi FormData MDN, FormData secara tersirat mengekod data dalam format berbilang bahagian/data borang. Format ini tidak sesuai untuk menghantar data dengan Jenis Kandungan aplikasi/x-www-form-urlencoded.

Penyelesaian untuk aplikasi/x-www-form-urlencoded

Untuk mengekod data dalam format aplikasi/x-www-form-urlencoded, anda mempunyai dua pilihan:

  1. Pengekodan Rentetan: Mengekodkan data borang secara manual ke dalam dikodkan URL rentetan.
  2. URLSearchParams: Mulakan objek URLSearchParams dan tambahkan setiap nama dan nilai medan borang padanya. Elakkan daripada menyatakan pengepala Jenis Kandungan secara eksplisit, kerana penyemak imbas akan membuat kesimpulan daripada objek URLSearchParams.

Alternatif untuk URLSearchParams

Jika sokongan percubaan tersedia, anda juga boleh menghantar objek FormData terus ke URLSearchParams dan bukannya menambahkan nilai secara manual. Pendekatan ini masih dalam pembangunan dan harus diuji secara menyeluruh sebelum pelaksanaan.

Kesimpulan

Dengan memahami mekanik FormData dan gelagat Fetch API, pembangun boleh menghantar borang data dengan betul dalam format berbilang bahagian/form-data atau aplikasi/x-www-form-urlencoded, memastikan pemindahan dan pengendalian data yang betul pada bahagian pelayan.

Atas ialah kandungan terperinci Cara Menghantar Data Borang dengan API Ambil: Multipart/form-data vs. Application/x-www-form-urlencoded?. 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