Lorsque vous utilisez l'interface FormData dans l'API Fetch pour publier des données de formulaire, il est important de comprendre son comportement par défaut. Par défaut, il envoie les données au format "multipart/form-data", qui n'est pas compatible avec le format "application/x-www-form-urlencoded".
Si vous souhaitez publier les données du formulaire sous forme "application/x-www-form-urlencoded" à l'aide de l'API Fetch, vous pouvez suivre ces étapes :
Convertir FormData en URLSearchParams : Utilisez une boucle pour parcourir l'objet FormData et ajoutez chaque paire clé-valeur à un objet URLSearchParams.
<code class="javascript">const data = new URLSearchParams(); for (const pair of new FormData(formElement)) { data.append(pair[0], pair[1]); }</code>
OU, utilisez la méthode expérimentale :
<code class="javascript">const data = new URLSearchParams(new FormData(formElement));</code>
Remarque : assurez-vous que votre Le navigateur prend en charge cette dernière méthode avant de l'utiliser.
Envoyer des données à l'aide de l'API Fetch : Effectuez une requête POST avec le corps défini sur l'objet URLSearchParams. Ne spécifiez pas d'en-tête Content-Type, car la valeur par défaut sera "application/x-www-form-urlencoded".
<code class="javascript">fetch(url, { method: 'post', body: data, }) .then(…);</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!