Tenho um formulário que estou enviando (por meio de GET, pois é necessário dessa forma) para um crm (ViciDial). Posso enviar o formulário com êxito, no entanto, se fizer isso, o arquivo de processamento em crm apenas exibirá um texto de sucesso e pronto.
Em vez desse texto, desejo exibir uma página de agradecimento em meu site, então decidi usar AJAX para enviar o formulário e redirecioná-lo para a página de que preciso, mas estou recebendo este erro no meu navegador:
Conteúdo misto: a página em ' https://page.com ' foi carregada por HTTPS, mas solicitou um ponto de extremidade XMLHttpRequest inseguro ' http://XX.XXX.XX.XXX/vicidial/non_agent_api.php?queries=query=data '. Esta solicitação foi bloqueada; o conteúdo deve ser servido por HTTPS.
Este é meu script AJAX:
<script>
SubmitFormClickToCall = function(){
jQuery.ajax({
url: "http://XX.XXX.XX.XX/vicidial/non_agent_api.php",
data : jQuery("#form-click-to-call").serialize(),
type : "GET",
processData: false,
contentType: false,
success: function(data){
window.location.href = "https://www.example.com/thank-you";
}
});
}
</script>
Apenas definir https na URL não funcionará. Existe alguma maneira de enviar os dados via GET e redirecionar o usuário para a minha página de agradecimento?
==============================
O problema aqui era conteúdo misto, isso significa que carreguei uma página via HTTPS e estava tentando acertar via AJAX uma API que estava em HTTP. Mas o navegador não nos permite apenas fazer isso.
Portanto, se você não pode definir a API como HTTPS (este foi o meu caso), ainda podemos abordar isso de uma maneira diferente.
O principal problema não era o problema de conteúdo misto, era que eu queria enviar dados para uma API e redirecionar os usuários para uma página de agradecimento sofisticada. Em vez de usar AJAX, criei um arquivo php que recebe os dados e os envia usando curl para a API (como isso está sendo feito no lado do servidor, não há problema de conteúdo misto) e redireciona meu feliz usuário para uma página de agradecimento sofisticada.
XX.XXX.XX.XX
sobre HTTP. No entanto, se o objetivo do HTTP é proteger as informações do usuário, você precisará ter cuidado para que a rota entre os servidores não passe pela Internet pública.