POSTing de données codées en URL avec $http sans jQuery
En tant que débutant dans AngularJS, vous cherchez un moyen de faire des requêtes AJAX sans en s'appuyant sur jQuery. Bien que votre approche initiale avec $.param ait fonctionné, vous aimeriez éliminer la dépendance à jQuery.
Vos tentatives ultérieures avec les données et les paramètres n'ont pas donné les résultats souhaités, et la stringification JSON s'est également avérée infructueuse. AngularJS propose certainement une méthode pour cela, alors explorons la solution.
Transformation des données pour les paramètres d'URL
La clé pour envoyer des données de formulaire via POST est de transformer votre objet données dans les paramètres d’URL. AngularJS fournit une fonction transformRequest qui vous permet de personnaliser le corps de la requête avant de l'envoyer.
Exemple de demande de publication avec 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 () {});
Dans cet exemple :
AngularJS 1.4 et au-delà
Avec AngularJS 1.4 et versions ultérieures, de nouveaux services ont été introduits pour simplifier davantage ce processus. Cependant, l'approche ci-dessus reste une solution valable pour les versions antérieures.
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!