Maison >interface Web >js tutoriel >Exemple de transmission de paramètres json via la méthode Post du service $http sous AngularJS

Exemple de transmission de paramètres json via la méthode Post du service $http sous AngularJS

亚连
亚连original
2018-05-28 14:32:531779parcourir

Ci-dessous, je vais partager avec vous un exemple de transmission de paramètres json via la méthode Post du service $http sous AngularJS. Elle a une bonne valeur de référence et j'espère qu'elle sera utile à tout le monde.

Cet article présente principalement comment utiliser le service Angularjs $http pour transférer des données d'objet json vers le serveur à l'aide de la méthode POST.

Les détails sont les suivants :

1. Le type de données par défaut soumis par la méthode $http POST est application/json

var data = {'wid':'0', 'praise' : '25'}; 
$http.post(url, data).success(function(result) { 
 // 
});

La requête finale envoyée est :

POST http://www.example.com HTTP/1.1 
Content-Type: application/json;charset=utf-8 
 
{'wid':'0','praise':'25'}

La méthode par défaut peut passer directement l'objet json au serveur sous la forme d'une chaîne, ce qui est plus adapté aux interfaces RESTful. Mais le $_POST du script php ne peut pas obtenir les données json du corps de la requête.

Vous pouvez utiliser :

$data = file_get_contents("php://input"); //获得原始输入流

Remarque : php://input n'est pas valide lorsque enctype="multipart/form-data"

Après avoir obtenu le flux d'entrée original de la requête, puis l'avoir traité en conséquence, les données json peuvent être obtenues.

2. Soumettez les données json en utilisant la méthode x-www-form-urlencoded

app.factory("Comment",function($http){
 return {
  get : function(commentFileUrl) {
   return $http({
    method: "GET",
    url: commentFileUrl,
    params: {R:Math.random()},
    headers: {'Cache-Control':'no-cache'}
   });
  },

  //保存一个评论
  save : function(toUrl,saveFileUrl,Data) {
   $http({
    method: "POST",
    url: toUrl,
    data: {saveUrl:saveFileUrl,commit:Data},
    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("&");
    }
   }).success(function(data){
    console.log("数据已保存!");
   }).error(function(data) {
    alert("数据保存失败,错误信息:" + JSON.stringify({data:data}));
   });
  }
 }
});
var updateClickRate={'wid':'0','click_rate':'87'};
Comment.save("php/updateWork.php","../userdata/work_content.json",JSON.stringify(updateClickRate));

Enfin envoyé La demande est :

Ce qui précède est ce que j'ai compilé pour tout le monde. J'espère que cela sera utile à tout le monde à l'avenir.

Articles connexes :

Une brève introduction au didacticiel de l'outil de débogage de nœud

Exemples de la façon dont Webpack emballe et compresse js et css

Exemple de code pour charger et supprimer dynamiquement des fichiers js/css

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn