Maison > interface Web > js tutoriel > Comment implémenter $http dans Angularjs pour transmettre des paramètres via le corps du message dans une requête de publication

Comment implémenter $http dans Angularjs pour transmettre des paramètres via le corps du message dans une requête de publication

高洛峰
Libérer: 2017-02-16 17:15:43
original
1391 Les gens l'ont consulté

L'exemple de cet article décrit la méthode de transmission des paramètres via le corps du message via $http dans Angularjs via une demande de publication. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Dans Angularjs, $http utilise post pour transmettre les paramètres dans le corps du message. Les modifications suivantes doivent être apportées pour garantir l'exactitude des paramètres transmis. dans le corps du message.

1. Définissez-le lors de la déclaration de l'application :

var httpPost = function($httpProvider) {
  /*******************************************
  说明:$http的post提交时,纠正消息体
  ********************************************/
  // Use x-www-form-urlencoded Content-Type
  $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
  /*
   * The workhorse; converts an object to x-www-form-urlencoded serialization.
   * @param {Object} obj
   * @return {String}
   */
  var param = function(obj) {
    var query = '', name, value, fullSubName, subName, subValue, innerObj, i;
    for (name in obj) {
      value = obj[name];
      if (value instanceof Array) {
        for (i = 0; i < value.length; ++i) {
          subValue = value[i];
          fullSubName = name + &#39;[&#39; + i + &#39;]&#39;;
          innerObj = {};
          innerObj[fullSubName] = subValue;
          query += param(innerObj) + &#39;&&#39;;
        }
      } else if (value instanceof Object) {
        for (subName in value) {
          subValue = value[subName];
          fullSubName = name + &#39;[&#39; + subName + &#39;]&#39;;
          innerObj = {};
          innerObj[fullSubName] = subValue;
          query += param(innerObj) + &#39;&&#39;;
        }
      } else if (value !== undefined && value !== null)
        query += encodeURIComponent(name) + &#39;=&#39; + encodeURIComponent(value) + &#39;&&#39;;
    }
    return query.length ? query.substr(0, query.length - 1) : query;
  };
  // Override $http service&#39;s default transformRequest
  $httpProvider.defaults.transformRequest = [
    function(data) {
      return angular.isObject(data) && String(data) !== &#39;[object File]&#39; ? param(data) : data;
    }
  ];
};
var ngApp = angular.module(&#39;wtApp&#39;, [&#39;ngCookies&#39;], httpPost);
Copier après la connexion

2. post

$http({
  method: &#39;POST&#39;,
  url: &#39;GetData.ashx&#39;,
  params: { id: &#39;1002&#39; },//params作为url的参数
  data: { keyName: &#39;qubernet&#39; }//作为消息体参数
}, function (data) {
});
Copier après la connexion

Pour plus d'articles connexes sur la façon d'implémenter $http dans Angularjs pour transmettre des paramètres via le corps du message dans une demande de publication, veuillez faire attention au chinois PHP site web!

É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