Heim > Web-Frontend > js-Tutorial > Wie poste ich URL-codierte Formulardaten mit dem $http-Dienst von AngularJS?

Wie poste ich URL-codierte Formulardaten mit dem $http-Dienst von AngularJS?

Linda Hamilton
Freigeben: 2024-12-11 05:16:11
Original
957 Leute haben es durchsucht

How to POST URL-Encoded Form Data with AngularJS's $http Service?

URL-codierte Formulardaten mit $http in AngularJS VERÖFFENTLICHEN

Das Problem verstehen

Als neuer AngularJS-Benutzer Beim Senden von Daten an den Server über den $http-Dienst sind Probleme aufgetreten. Insbesondere traten Probleme auf, als Sie versuchten, Daten im URL-codierten Format zu senden.

Die Lösung

Um dieses Problem zu beheben, müssen Sie Ihre Daten in URL konvertieren Parameter statt JSON-Strings. Ben Nadel erklärt dies in seinem Blog:

By default, the $http service will transform the outgoing request by serializing the data as JSON and then posting it with the content-type, "application/json". When we want to post the value as a FORM post, we need to change the serialization algorithm and post the data with the content-type, "application/x-www-form-urlencoded".
Nach dem Login kopieren

Beispiel

Hier ist ein Beispiel, das zeigt, wie URL-codierte Formulardaten mit $http:

veröffentlicht werden
$http({
    method: 'POST',
    url: url,
    headers: {'Content-Type': 'application/x-www-form-urlencoded'},
    transformRequest: function(obj) {
        var str = [];
        for(var p in obj)
        str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
        return str.join("&");
    },
    data: {username: $scope.userName, password: $scope.password}
}).then(function () {});
Nach dem Login kopieren

Update für AngularJS v1.4 und Später

Für AngularJS v1.4 und höher können Sie die neuen verfügbaren Dienste nutzen, um das gleiche Ergebnis zu erzielen:

$http({
    method: 'POST',
    url: url,
    headers: {'Content-Type': 'application/x-www-form-urlencoded'},
    transformRequest: $httpParamSerializer
});
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie poste ich URL-codierte Formulardaten mit dem $http-Dienst von AngularJS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage