1. Frage:
Das Backend kann die von $ http.post in AngularJS gesendeten Daten nicht empfangen, und sie wird immer als Null angezeigt
Beispielcode:
$ http.post (/admin/keyValue/getListbypage, {pageIndex: 1, pageSize: 8}) .success (function () {alert ("mrjing");});Der Code ist nicht falsch, aber die Daten können nicht im Hintergrund empfangen werden. Warum ist das?
Verwenden von Firefox -Überwachung: Die Parameter sind im JSON -Format enthalten
Verwenden Sie die Google -Überwachung: Die Methode zur Übertragung von Parametern ist die Nutzlastanforderung
Es kann festgestellt werden, dass die Parameterübertragungsmethode Anforderungsnutzlast ist, das Parameterformat JSON und keine Formularparameterübertragung ist. Im Hintergrund können die Parameter nicht durch Empfangen von Formulardaten empfangen werden.
Bei der Übermittlung einer Postformularanforderung ist der verwendete Inhaltstyp die Anwendung/x-www-form-urlencoded.
Für den festen Anforderungs-Header ist der Standard-Inhaltstyp Text/Plain. charset = utf-8, und der Inhaltstyp hier ist:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2. Lösung:
Laden Sie den Code direkt hoch:
// Der Parameter, der durch post var data = {pageIndex: 1, pageSize: 8,}, // die Adresse von postanforderung url = "/admin/keyValue/getListbypage" übergeben werden soll, ändern Sie die Parameter-Passing-Methode in formpostcfg = {Header: {'Content-type': 'Application/xww-form-form-. $ .PARAM (Daten);}}; // Senden Sie eine Postanforderung, um die Daten $ http.post (URL, Daten, postcfg) zu erhalten.Schauen wir uns als nächstes das Überwachungstool an:
Firefox -Überwachung: Der Parametertyp ist zu Formdaten geworden
Google -Überwachung:
Jetzt ist die Parameterübertragungsmethode zur Formularmethode geworden, und das Backend kann normale Parameter empfangen!
Das obige ist das relevante Wissen über den Grund, warum die von $ http.post in AngularJS gesendeten Daten nicht vom Backend empfangen werden können. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!