Maison  >  Article  >  interface Web  >  AngularJS utilise la méthode Post pour transmettre les paramètres json (code ci-joint)

AngularJS utilise la méthode Post pour transmettre les paramètres json (code ci-joint)

php中世界最好的语言
php中世界最好的语言original
2018-04-27 17:26:172849parcourir

Cette fois, je vous apporte des idées AngularJS pour utiliser la méthode Post pour transmettre les paramètres json (avec code). Quelles sont les précautions pour utiliser la méthode Post pour transmettre les paramètres json dans). AngularJS ? Voici quelques cas pratiques.

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 forme de string, qui est une interface RESTful plus adaptée. 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. Utilisez x-www-form-urlencoded pour soumettre et obtenir des données json

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}));
   });
  }
 }
});

Je crois que vous l'avez maîtrisé après lire le cas dans cet article Pour des méthodes plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Explication détaillée de l'utilisation du contrôle d'arborescence vue.js

Explication détaillée des étapes pour implémenter le glisser-déposer de fichiers avec JS

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