Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

101
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda