"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 meus valores Angular HTTP POST são indefinidos em PHP e como posso corrigir isso?

Por que meus valores Angular HTTP POST são indefinidos em PHP e como posso corrigir isso?

Publicado em 23/12/2024
Navegar:636

Why are my Angular HTTP POST values undefined in PHP, and how can I fix it?

Angular HTTP POST para PHP: Lidando com valores POST indefinidos

No AngularJS, executar solicitações HTTP POST para endpoints PHP às vezes pode resultar em indefinições Valores POST no lado do servidor. Isso pode ocorrer quando há uma incompatibilidade entre o formato de dados esperado e os dados reais enviados pelo aplicativo Angular.

Para resolver esse problema, é crucial garantir que o cabeçalho Content-Type esteja definido adequadamente. Por padrão, AngularJS define este cabeçalho como "application/json". No entanto, se você estiver enviando dados codificados em formulário, isso precisará ser substituído.

No código fornecido, a linha a seguir define o cabeçalho Content-Type como "application/x-www-form-urlencoded; charset=UTF-8":

$http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';

No entanto, isso requer a modificação dos dados enviados para corresponder ao formato codificado no formulário. Em vez de enviar os dados como um objeto, eles precisam ser convertidos em uma string de consulta. Isso pode ser feito usando jQuery.serialize() ou construindo manualmente a string de consulta com encodeURIComponent().

Alternativamente, se preferir usar a funcionalidade $_POST do PHP, você pode manter a configuração de cabeçalho padrão e modificar o Código PHP para ler a entrada bruta do corpo da solicitação e decodificar o JSON. Isso pode ser conseguido com o seguinte código:

$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$email = $request->email;
$pass = $request->password;

Ao alinhar o formato dos dados e as configurações do cabeçalho, você pode garantir que os valores POST sejam recebidos corretamente no lado do PHP.

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