1. Pregunta:
El backend no puede recibir los datos enviados por $ http.post en angularjs, y siempre se muestra como nulo
Código de muestra:
$ http.post (/admin/keyValue/getListByPage, {pageIndex: 1, PageSize: 8}) .success (function () {alert ("mrjing");});El código no está mal, pero los datos no se pueden recibir en segundo plano. ¿Por qué es esto?
Uso de monitoreo de Firefox: los parámetros están en formato JSON
Use el monitoreo de Google: el método de transferencia de parámetros es solicitar carga útil
Se puede encontrar que el método de transferencia de parámetros es la carga útil de la solicitud, el formato de parámetro es JSON y no la transferencia de parámetros de formulario, por lo que en segundo plano, los parámetros no se pueden recibir recibiendo datos de formulario.
Al enviar una solicitud de formulario de publicación, el tipo de contenido utilizado es la aplicación/x-www-form-urlencoded, y si la solicitud de publicación usando AJAX nativo no se refiere a ella.
Para el encabezado de solicitud fijo, el tipo de contenido predeterminado es Text/Plain; charset = utf-8, y el tipo de contenido aquí es:
----------------------------------------------------------------------------------------------------------------------------
2. Solución:
Cargue directamente el código:
// El parámetro que se pasará a través de Post var data = {pageIndex: 1, pageSize: 8,}, // La dirección de la solicitud de publicación url = "/admin/keyValue/getListByPage", // cambia el método de aprobación del parámetro a formpostCfg = {encabezados: {'content-type': 'application/x-www-form-urlencoded'},}, data (dat.type '}, datform (dat.type'}, datform (dat.type '}, dat transforma (dat.type'}, dat transforma (datafttype) {return $ .param (data);}}; // Envíe una solicitud de publicación para obtener los datos $ http.post (url, data, postcfg) .success (function (respuesta) {alerta ("mrjing");});A continuación, veamos la herramienta de monitoreo:
Monitoreo de Firefox: el tipo de parámetro se ha convertido en datos de formulario
Monitoreo de Google:
Ahora el método de transmisión de parámetros se ha convertido en el método de formulario, ¡y el backend puede recibir parámetros normalmente!
Lo anterior es el conocimiento relevante sobre la razón por la cual los datos enviados por $ http.post en angularjs no pueden ser recibidos por el backend. Espero que sea útil para todos. Si tiene alguna pregunta, déjame un mensaje y el editor responderá a todos a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!