Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

102
Vistas
La solicitud de VueJS + Axios Post no pasa el valor del parámetro

Tengo una API que actualiza los datos en la base de datos pero luego devuelve una consulta. La API toma un solo parámetro y funciona cuando se prueba manualmente a través del navegador y cuando también se prueba usando una solicitud de obtención de axios. Sin embargo, por motivos de seguridad, quería intentar seguir con la solicitud POST y simplemente probarla; sin embargo, si trato de ejecutar esto a través de una solicitud POST (cambiar axios.get a axios.post), el valor del parámetro no se pasa a la API. . Aquí está mi solicitud de axios a continuación. ¿Cual podría ser el problema?

 axios.post(window.location.origin + '/API/StateContacts', { params: { STATE_DD_INPUT: stateDD } }) .then(response => { this.stateContactsArray = response.data; }).catch(error => { console.log(error.response.data.error); });
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

El segundo parámetro post Axios ya son los datos que está tratando de pasar. De

 axios.post(window.location.origin + '/API/StateContacts', { params: { STATE_DD_INPUT: stateDD } })

a

 axios.post(window.location.origin + '/API/StateContacts', { STATE_DD_INPUT: stateDD })

debería resolver tu problema

Editar

Tú comentaste:

Sin embargo, si hago esto y agrego un {} , funciona, pero no estoy seguro de por qué.

 axios.post(window.location.origin + '/API/StateContacts', {}, { params: { STATE_DD_INPUT: stateDD } }) .then(response => { this.stateContactsArray = response.data; }).catch(error => { console.log(error.response.data.error); });

Esto se debe a que la firma de la función axios.post es:

 axios.post(url[, data[, config]])

En lugar de pasar los data como el segundo argumento, está pasando el tercer argumento, que es la config . El objeto de config tiene la clave de parameters que agregará a su solicitud los siguientes parámetros de consulta:

 http://localhost/API/StateContacts?STATE_DD_INPUT=xxx

donde la cadena de consulta será STATE_DD_INPUT .

Dado que no conocemos su backend, asumimos que está utilizando un método para obtener la cadena de consulta de la solicitud y no el cuerpo de la solicitud. Los marcos como Laravel analizan la cadena de consulta y el cuerpo de lo que está buscando. P.ej

 $request->get('STATE_DD_INPUT')

Probablemente esté utilizando un marco que tiene dos métodos diferentes. Uno para obtener los parámetros de la consulta (p. ej., de la URL: https://localhost/API/StateContacts?STATE_DD_INPUT=xxxx) y otro para obtenerlos del cuerpo (p. ej., el que se envió en la solicitud del cuerpo; consulte estos documentos para obtener más información). más sobre el cuerpo POST). Entonces, tal vez en algún lugar de su código back-end tendrá

 $request->body('STATE_DD_INPUT')

Para poder obtener la solicitud de la cadena de consulta, debe tener algún método para hacerlo. p.ej

 $request->query('STATE_DD_INPUT')
about 4 years ago · Juan Pablo Isaza Denunciar

0

¿Quieres pasar el parámetro en el encabezado?

 axios.post(window.location.origin + '/API/StateContacts', { headers: { 'Content-Type': 'application/json', 'STATE_DD_INPUT': stateDD } }) .then((response) => { console.log(response.data) }) .catch((error) => { console.log(error); })
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda