Heim > Web-Frontend > js-Tutorial > Wie poste ich URL-codierte Daten in AngularJS ohne jQuery?

Wie poste ich URL-codierte Daten in AngularJS ohne jQuery?

DDD
Freigeben: 2024-12-04 03:20:11
Original
149 Leute haben es durchsucht

How to POST URL-Encoded Data in AngularJS without jQuery?

URL-codierte Daten mit $http ohne jQuery posten

Als AngularJS-Neuling suchen Sie nach einer Möglichkeit, AJAX-Anfragen ohne zu stellen Verlassen Sie sich auf jQuery. Während Ihr erster Ansatz mit $.param funktioniert hat, möchten Sie die jQuery-Abhängigkeit beseitigen.

Ihre nachfolgenden Versuche mit Daten und Parametern führten nicht zu den gewünschten Ergebnissen, und auch die JSON-Stringifizierung erwies sich als erfolglos. AngularJS bietet dafür sicherlich eine Methode, also lassen Sie uns die Lösung erkunden.

Daten für URL-Parameter transformieren

Der Schlüssel zum Senden von Formulardaten per POST liegt in der Transformation Ihres Objekts Daten in URL-Parameter. AngularJS bietet eine transformRequest-Funktion, mit der Sie den Anfragetext vor dem Senden anpassen können.

Beispiel-Post-Anfrage mit Transformation

$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

In diesem Beispiel:

  • Die transformRequest-Funktion iteriert über das bereitgestellte Objekt und kodiert jeden Schlüssel und Wert.
  • Die Verschlüsselte Schlüssel-Wert-Paare werden dann zu einer einzelnen Zeichenfolge zusammengefügt, die durch kaufmännische Und-Zeichen (&) getrennt ist.

AngularJS 1.4 und höher

Mit AngularJS 1.4 und höher Um diesen Prozess weiter zu vereinfachen, wurden neue Dienste eingeführt. Der obige Ansatz bleibt jedoch eine gültige Lösung für frühere Versionen.

Das obige ist der detaillierte Inhalt vonWie poste ich URL-codierte Daten in AngularJS ohne jQuery?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage