Estou procurando há algum tempo, mas não encontrei nada que corresponda 100% ao que eu gostaria de alcançar.
Estou enviando dados para uma API e obtendo uma resposta. Posso ver que o envio foi bem-sucedido e preciso redirecionar para uma URL que está contida na resposta.
Exemplo de resposta...
{ "status": "OK", "redirectUrl": "https:\/\/blalabla.com" }
Essas são as coisas que eu tentei...
$decodedarray = json_decode($response,true);
if($decodedarray['status'] == "OK") {
header("Location: ".$decodedarray['redirectUrl']);
}
if($response->response->header->status == 200)
{
$redirect_url = $result->response->body->redirectUrl;
header("Location: ".$redirect_url);
die();
}
if($response->response->body->status == 200)
{
$redirect_url = $result->response->body->redirectUrl;
header("Location: ".$redirect_url);
die();
}
A página parece estar atualizando após o envio e às vezes vejo a resposta no navegador. Mas ela não redireciona automaticamente para a URL fornecida. A URL é dinâmica e muda, então não consigo codificá-la.
Eu apreciaria qualquer indicação, por favor. Obrigado
Após chamar
header("Location: ...")
, useexit()
para interromper a interferência de redirecionamento.Para verificar os cabeçalhos que seu script PHP envia, você pode usar ferramentas de desenvolvedor do navegador ou a linha de comando. Por exemplo,
curl
. Dessa forma, você pode ver se oLocation
cabeçalho está OK.