Heim >Web-Frontend >js-Tutorial >Wie kann ich die Übermittlung eines POST-Formulars in JavaScript simulieren?

Wie kann ich die Übermittlung eines POST-Formulars in JavaScript simulieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-27 18:20:10282Durchsuche

How Can I Simulate a POST Form Submission in JavaScript?

Formularübermittlung per POST-Anfrage in JavaScript simulieren

Wenn das Navigieren zu einer anderen Seite eine POST-Anfrage erfordert, können Standardmethoden für die Formularübermittlung erforderlich sein nicht über JavaScript zugänglich sein. Dieser Artikel stellt eine Lösung vor, um Daten dynamisch zu veröffentlichen und den Speicherort des Browsers zu ändern und dabei das Formularübermittlungsverhalten zu emulieren.

Dynamische Formularerstellung und -übermittlung

Um dies zu erreichen, erstellen Sie Erstellen Sie dynamisch ein Formular, füllen Sie es mit versteckten Eingabefeldern mit den erforderlichen Parametern und senden Sie es ab it:

<br>function post(path, params, method='post') {<br> const form = document.createElement('form');<br> form.method = method;<br> form.action = path;</p>
<p>for (const key in params) {</p>
<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();
}

Beispielverwendung

Einreichen Daten an „/contact/“ mit einem Parameter „name“, der auf „Johnny Bravo“ gesetzt ist:

<br>post('/contact/', {name: 'Johnny Bravo'}) ;<br>

Wichtig Hinweis

In der bereitgestellten Lösung stellt die Prüfung „hasOwnProperty“ die Kompatibilität zwischen Browsern sicher und verhindert potenzielle Fehler.

Das obige ist der detaillierte Inhalt vonWie kann ich die Übermittlung eines POST-Formulars in JavaScript simulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn