Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

AJAX - Request Bloqueada

Pessoal, boa noite, tenho a seguinte aplicação. https://crisgon.github.io/cotacaoMoedas/ https://github.com/crisgon/cotacaoMoedas

Localmente ela funcionou sem problemas, porém quando coloquei ela no git o request não foi finalizado e apareceu essa mensagem no console. Alguém poderia me explicar como contornar isso?

Mixed Content: The page at 'https://crisgon.github.io/cotacaoMoedas/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://api.promasters.net.br/cotacao/v1/valores'. This request has been blocked; the content must be served over HTTPS.

4 respostas

Encontrei alguns lugares falando que em páginas https só podemos fazer requisição https. Existe alguma forma de contornar isso?

Oi Cristiano, tudo bem? Até onde vi, isso quebra as politicas de same origin, mas acho que tem alguma forma sim de você fazer isso, não sei ao certo.

Talvez alguma coisa relacionada ao CORS possa ajudar. Mostra pra gente também como essa requisição tá sendo feita?

var conexao = new XMLHttpRequest();
conexao.open("GET", "https://api.promasters.net.br/cotacao/v1/valores"); //abre uma conexão 

conexao.addEventListener("load", function(){
        var conteudoJson = JSON.parse(conexao.responseText); //converte o texto para um objeto js
});
    conexao.send(); // envia
solução!

Oi Cristiano, andei pesquisando, parece que não dá mesmo para contornar essa questão fazendo essa forma. O que você poderia fazer era utilizar uma linguagem back-end para realizar a requisição. Poderia sim ser o javascript, mas utilizando o Node. Talvez funcionasse, não tenho certeza.

Ao que me parece, você pode requisitar de HTTPS, de um HTTP, mas o contrário não.