Submit de Formulário com POST


(Bruno Cezar Arcanjo Braga) #1

Estou tendo problemas pra fazer submit desse form usando POST.
Via GET, os dados são enviados perfeitamente.

dados refere-se ao formulário.value

  this.http.post(this.funcoes.urlWS + 'usuarioPreferencias.php', dados, {
    headers: new HttpHeaders()
      .set('Content-Type', 'application/x-www-form-urlencoded')
  })
    .subscribe(resultado => console.log(resultado));

console.log(dados); ===> Retorna certinho também.

{acao: “alterarSenha”, usuarioID: 1, chave: “FdfRd”, edtSenhaAtual: “jkjhkljh”, edtNovaSenha: “654654”, …}
acao: “alterarSenha”
chave: “FdfRd”
edtConfirmacao: “654654”
edtNovaSenha: “654654”
edtSenhaAtual: “jkjhkljh”
usuarioID: 1
proto: Object

Customizei um JSON para ver os campos recebidos na página php. O resultado é:

{sucesso: false, mensagem: “Ação inválida. Chave vazia ou inválida.”, chave: “”, acao: “”, edtNovaSenha: null, …}
acao: “”
edtNovaSenha: null
mensagem: “Ação inválida. Token vazio ou inválido.”
sucesso: false
token: “”
usuarioID: “”
proto: Object

Ou seja, não estão indos os dados do form.


(Bruno Cezar Arcanjo Braga) #2

Apenas para compartilhar, caso mais alguém tenha esse problema.
O fato é que no PHP precisei fazer um ajuste para receber o form.

$dados = file_get_contents('php://input');
$conteudo = (array)json_decode($dados);