Heim >Web-Frontend >js-Tutorial >Wie sende ich POST-Daten mit XMLHttpRequest in JavaScript?
In JavaScript bietet XMLHttpRequest eine unkomplizierte Methode zum Senden von HTTP-Anfragen an einen Server, einschließlich POST-Anfragen, die Anfragedaten übertragen. Lassen Sie uns überlegen, wie Sie mit XMLHttpRequest Daten senden, die einem Formular entsprechen.
Angenommen, Sie haben ein HTML-Formular mit den folgenden versteckten Eingaben:
<form name="inputform" action="somewhere" method="post"> <input type="hidden" value="person" name="user"> <input type="hidden" value="password" name="pwd"> <input type="hidden" value="place" name="organization"> <input type="hidden" value="key" name="requiredkey"> </form>
Um diese Formulardaten mit XMLHttpRequest zu replizieren, können Sie dies tun Verwenden Sie das folgende JavaScript-Code-Snippet:
var http = new XMLHttpRequest(); var url = 'get_data.php'; var params = 'user=person&pwd=password&organization=place&requiredkey=key'; http.open('POST', url, true); // Send appropriate header information http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); http.onreadystatechange = function() { if(http.readyState == 4 && http.status == 200) { console.log(http.responseText); } } http.send(params);
Im obigen Code sind die „params“ Die Variable enthält die Daten, die als URL-codierte Schlüssel/Wert-Paare übermittelt werden sollen. Wenn Sie dynamische Parameter aus einem Objekt erstellen möchten, berücksichtigen Sie den folgenden Code:
var params = new Object(); params.user = 'person'; params.pwd = 'password'; params.organization = 'place'; params.requiredkey = 'key'; // Encode the object into URL-encoded key/value pairs let urlEncodedDataPairs = [], name; for( name in params ) { urlEncodedDataPairs.push(encodeURIComponent(name) + '=' + encodeURIComponent(params[name])); } var params = urlEncodedDataPairs.join('&');
Diese überarbeitete Variable „params“ kann dann wie zuvor beschrieben in der XMLHttpRequest-Anfrage verwendet werden.
Das obige ist der detaillierte Inhalt vonWie sende ich POST-Daten mit XMLHttpRequest in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!