recherche
Maisoninterface Webtutoriel HTMLangular的post传参后台php无法接收 - 范丁文

很多时候我们需要用ajax提交post数据,angularjs与jq类似,也有封装好的post。

但是jQuery的post明显比angularjs的要简单一些,人性化一些。

两者看起来没什么区别,用angularjs的$http提交的数据,在php服务器端却无法通过$_REQUEST/$_POST获取到。

这是因为两者的post对header的处理有所不同……jQuery会把作为JSON对象的myData序列化,而Angular不会。

解决方案:

修改Angular的$httpProvider的默认处理(最完美的解决方案)

angular.module('MyModule', [], <span style="color: #0000ff;">function</span><span style="color: #000000;">($httpProvider) {
  </span><span style="color: #008000;">//</span><span style="color: #008000;"> Use x-www-form-urlencoded Content-Type</span>
  $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8'<span style="color: #000000;">;
 
  </span><span style="color: #008000;">/*</span><span style="color: #008000;">*
   * The workhorse; converts an object to x-www-form-urlencoded serialization.
   * @param {Object} obj
   * @return {String}
   </span><span style="color: #008000;">*/</span> 
  <span style="color: #0000ff;">var</span> param = <span style="color: #0000ff;">function</span><span style="color: #000000;">(obj) {
    </span><span style="color: #0000ff;">var</span> query = ''<span style="color: #000000;">, name, value, fullSubName, subName, subValue, innerObj, i;
      
    </span><span style="color: #0000ff;">for</span>(name <span style="color: #0000ff;">in</span><span style="color: #000000;"> obj) {
      value </span>=<span style="color: #000000;"> obj[name];
        
      </span><span style="color: #0000ff;">if</span>(value <span style="color: #0000ff;">instanceof</span><span style="color: #000000;"> Array) {
        </span><span style="color: #0000ff;">for</span>(i=0; i<value.length style="color: #000000;">i) {
          subValue =<span style="color: #000000;"> value[i];
          fullSubName </span>= name + '[' + i + ']'<span style="color: #000000;">;
          innerObj </span>=<span style="color: #000000;"> {};
          innerObj[fullSubName] </span>=<span style="color: #000000;"> subValue;
          query </span>+= param(innerObj) + '&'<span style="color: #000000;">;
        }
      }
      </span><span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span>(value <span style="color: #0000ff;">instanceof</span><span style="color: #000000;"> Object) {
        </span><span style="color: #0000ff;">for</span>(subName <span style="color: #0000ff;">in</span><span style="color: #000000;"> value) {
          subValue </span>=<span style="color: #000000;"> value[subName];
          fullSubName </span>= name + '[' + subName + ']'<span style="color: #000000;">;
          innerObj </span>=<span style="color: #000000;"> {};
          innerObj[fullSubName] </span>=<span style="color: #000000;"> subValue;
          query </span>+= param(innerObj) + '&'<span style="color: #000000;">;
        }
      }
      </span><span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span>(value !== undefined && value !== <span style="color: #0000ff;">null</span><span style="color: #000000;">)
        query </span>+= encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&'<span style="color: #000000;">;
    }
      
    </span><span style="color: #0000ff;">return</span> query.length ? query.substr(0, query.length - 1<span style="color: #000000;">) : query;
  };
 
  </span><span style="color: #008000;">//</span><span style="color: #008000;"> Override $http service's default transformRequest</span>
  $httpProvider.defaults.transformRequest = [<span style="color: #0000ff;">function</span><span style="color: #000000;">(data) {
    </span><span style="color: #0000ff;">return</span> angular.isObject(data) && String(data) !== '[object File]' ?<span style="color: #000000;"> param(data) : data;
  }];
});</span></value.length>

 

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
HTML: construire la structure des pages WebHTML: construire la structure des pages WebApr 14, 2025 am 12:14 AM

HTML est la pierre angulaire de la construction de la structure des pages Web. 1. HTML définit la structure et la sémantique du contenu et les utilisations, etc. Tags. 2. Fournir des marqueurs sémantiques, tels que, etc., pour améliorer l'effet SEO. 3. Pour réaliser l'interaction de l'utilisateur via des balises, faites attention à la vérification de la forme. 4. Utilisez des éléments avancés tels que, combinés avec JavaScript pour obtenir des effets dynamiques. 5. Les erreurs courantes incluent des étiquettes non clôturées et des valeurs d'attribut non déposées et des outils de vérification sont nécessaires. 6. Les stratégies d'optimisation comprennent la réduction des demandes HTTP, la compression du HTML, l'utilisation de balises sémantiques, etc.

Du texte aux sites Web: la puissance de HTMLDu texte aux sites Web: la puissance de HTMLApr 13, 2025 am 12:07 AM

HTML est un langage utilisé pour créer des pages Web, définissant la structure des pages Web et le contenu via des balises et des attributs. 1) HTML organise la structure des documents via des balises, telles que. 2) Le navigateur analyse HTML pour construire le DOM et rend la page Web. 3) De nouvelles caractéristiques de HTML5, telles que, améliorez les fonctions multimédias. 4) Les erreurs courantes incluent des étiquettes non clôturées et des valeurs d'attribut non attribuées. 5) Les suggestions d'optimisation incluent l'utilisation de balises sémantiques et la réduction de la taille du fichier.

Comprendre HTML, CSS et JavaScript: un guide pour débutantComprendre HTML, CSS et JavaScript: un guide pour débutantApr 12, 2025 am 12:02 AM

WebDevelopmentReliesOnHTML, CSS, etjavascript: 1) HTMLSTRUCTURESCONTENT, 2) CSSSTYLESIT, et3) JavascriptAdddsInterActivity, Forming TheasisofmodernweBEBExperiences.

Le rôle de HTML: Structurer le contenu WebLe rôle de HTML: Structurer le contenu WebApr 11, 2025 am 12:12 AM

Le rôle de HTML est de définir la structure et le contenu d'une page Web via des balises et des attributs. 1. HTML organise le contenu via des balises telles que, ce qui le rend facile à lire et à comprendre. 2. Utilisez des balises sémantiques telles que, etc. pour améliorer l'accessibilité et le référencement. 3. Optimisation du code HTML peut améliorer la vitesse de chargement des pages Web et l'expérience utilisateur.

HTML et code: un examen plus approfondi de la terminologieHTML et code: un examen plus approfondi de la terminologieApr 10, 2025 am 09:28 AM

Htmlisaspecificypeofcodefocusedonconstructringwebcontent, tandis que "code" en général incluse les langues liés à lajavaScriptandpythonforfonctionnality.1) htmldefineswebpagestructureusingtags.2) "Code" enclueSawidererRangeFlanguageForgicandInteract "

HTML, CSS et JavaScript: outils essentiels pour les développeurs WebHTML, CSS et JavaScript: outils essentiels pour les développeurs WebApr 09, 2025 am 12:12 AM

HTML, CSS et JavaScript sont les trois piliers du développement Web. 1. HTML définit la structure de la page Web et utilise des balises telles que, etc. 2. CSS contrôle le style de page Web, en utilisant des sélecteurs et des attributs tels que la couleur, la taille de la police, etc. 3. JavaScript réalise les effets dynamiques et l'interaction, par la surveillance des événements et les opérations DOM.

Les rôles de HTML, CSS et JavaScript: responsabilités de baseLes rôles de HTML, CSS et JavaScript: responsabilités de baseApr 08, 2025 pm 07:05 PM

HTML définit la structure Web, CSS est responsable du style et de la mise en page, et JavaScript donne une interaction dynamique. Les trois exercent leurs fonctions dans le développement Web et construisent conjointement un site Web coloré.

HTML est-il facile à apprendre pour les débutants?HTML est-il facile à apprendre pour les débutants?Apr 07, 2025 am 12:11 AM

HTML convient aux débutants car il est simple et facile à apprendre et peut rapidement voir les résultats. 1) La courbe d'apprentissage de HTML est fluide et facile à démarrer. 2) Il suffit de maîtriser les balises de base pour commencer à créer des pages Web. 3) Flexibilité élevée et peut être utilisée en combinaison avec CSS et JavaScript. 4) Les ressources d'apprentissage riches et les outils modernes soutiennent le processus d'apprentissage.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft