1. Question:
Le backend ne peut pas recevoir les données envoyées par $ http.post dans angularjs, et elle est toujours affichée comme nul
Exemple de code:
$ http.post (/ admin / keyvalue / getListByPage, {pageIndex: 1, pagesize: 8}) .success (function () {alert ("mrjing");});Le code n'est pas faux, mais les données ne peuvent pas être reçues en arrière-plan. Pourquoi est-ce?
Utilisation de la surveillance de Firefox: les paramètres sont au format JSON
Utiliser Google Monitoring: La méthode de transfert de paramètres est la charge utile de demande
On peut constater que la méthode de transfert de paramètres est la charge utile de demande, le format de paramètre est JSON et non le transfert de paramètres de formulaire, donc en arrière-plan, les paramètres ne peuvent pas être reçus en recevant des données de formulaire.
Lors de la soumission d'une demande de formulaire de poste, le type de contenu utilisé est l'application / x-www-form-urlencoced, et si la demande de poste utilisant Ajax native ne se référait pas.
Pour l'en-tête de demande fixe, le type de contenu par défaut est Text / Plain; Charset = UTF-8, et le type de contenu ici est:
--------------------------------------------------------------------------------------------------------------------------------
2. Solution:
Téléchargez directement le code:
// Le paramètre à passer par le post var data = {PageIndex: 1, PageSize: 8,}, // L'adresse de la demande de requête POST = "/ admin / keyValue / GetListByPage", // modifie la méthode de passage du paramètre à FormPostcfg = {Headers: {'Content-Type': "application) $ .Param (data);}}; // Envoyez une demande de poste pour obtenir les données $ http.post (url, données, postcfg) .success (fonction (réponse) {alert ("mrjing");});Ensuite, regardons l'outil de surveillance:
Firefox Surveillant: le type de paramètre est devenu des données de formulaire
Surveillance Google:
Maintenant, la méthode de transmission des paramètres est devenue la méthode de formulaire, et le backend peut recevoir normalement des paramètres!
Ce qui précède est la connaissance pertinente sur la raison pour laquelle les données envoyées par $ http.post dans AngularJS ne peuvent pas être reçues par le backend. J'espère que ce sera utile à tout le monde. Si vous avez des questions, veuillez me laisser un message et l'éditeur répondra à tout le monde à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!