Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée des étapes pour transmettre les paramètres json dans la méthode $http

php中世界最好的语言
Libérer: 2018-05-08 11:09:55
original
3686 Les gens l'ont consulté

Cette fois, je vais vous donner une explication détaillée des étapes pour passer les paramètres json via la méthode $http. Quelles sont les précautions pour passer les paramètres json via la méthode $http. , jetons un coup d'oeil.

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) { 
 // 
});
Copier après la connexion

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'}
Copier après la connexion

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"); //获得原始输入流
Copier après la connexion

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));
Copier après la connexion

Enfin envoyé La demande est :

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres. articles connexes sur le site php chinois !

Lecture recommandée :

Vue réalise des fonctions de sélection complète et de sélection inverse

Comment implémenter Observer dans Vue

Comment modifier iview dans le contrôle d'arborescence vue.js element-ui

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!