"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que os dados do Axios POST não estão acessíveis em $ _POST?

Por que os dados do Axios POST não estão acessíveis em $ _POST?

Publicado em 2024-11-08
Navegar:107

Why is Axios POST Data not Accessible in $_POST?

Parâmetros de postagem do Axios não lidos por $_POST

Você está postando dados em um endpoint PHP usando Axios e espera acessá-los em $ _POST ou $_REQUEST. No entanto, no momento você não consegue detectá-lo.

Originalmente, você usou o método axios.post padrão, mas mudou para o snippet de código fornecido devido a uma suspeita de problema de cabeçalho. Apesar dessa mudança, os dados permanecem indetectáveis.

Após uma investigação mais aprofundada, você percebeu que Axios está postando os dados como um objeto JSON, que pode ser acessado por meio de file_get_contents("php://input"). Seu objetivo é enviar os dados como uma string normal.

Solução:

De acordo com a documentação do Axios, o comportamento padrão é serializar objetos JavaScript em JSON para postagem . No entanto, o PHP não suporta JSON como formato de dados para preencher $_POST. Ele suporta apenas os formatos suportados nativamente por formulários HTML:

  • application/x-www-form-urlencoded
  • multipart/form-data

To enviar dados no formato desejado, você tem várias opções:

  • Usando a API URLSearchParams (em um navegador)
  • Usando a biblioteca qs para codificar dados

Como alternativa, você pode personalizar sua configuração PHP para lidar com dados JSON, conforme sugerido em outra pergunta relacionada.

Declaração de lançamento Este artigo foi reimpresso em: 1729607537 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3