Lorsque la navigation vers une page différente nécessite une requête POST, les méthodes de soumission de formulaire standard peuvent ne soit pas accessible via JavaScript. Cet article présente une solution pour publier des données de manière dynamique et modifier l'emplacement du navigateur, en émulant le comportement de soumission de formulaire.
Pour y parvenir, créez un formulaire de manière dynamique, remplissez-le avec des champs de saisie masqués contenant les paramètres nécessaires et soumettez-le it:
<br>function post(path, params, method='post') {<br> const form = document.createElement('form');<br> form.method = méthode;<br> form.action = chemin;</p> <p>pour (clé const dans les paramètres) {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">if (params.hasOwnProperty(key)) { const hiddenField = document.createElement('input'); hiddenField.type = 'hidden'; hiddenField.name = key; hiddenField.value = params[key]; form.appendChild(hiddenField); }
}
document.body.appendChild(form);
form.submit();
}
À soumettre les données à '/contact/' avec un paramètre 'name' défini sur 'Johnny Bravo' :
<br>post('/contact/', {name : 'Johnny Bravo'} );<br>
Dans la solution fournie, la vérification « hasOwnProperty » garantit la compatibilité entre les navigateurs et évite les bogues potentiels.
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!