Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

96
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!