Pergunta

Estou tentando iniciar uma solicitação de alguns dados de um site externo com uma API.

Se eu copiar e colar a solicitação em meu navegador, ele funcionará bem. Exemplo como (http://example.com/json/user/search/all) Posso ver os resultados na janela do navegador.

No entanto, estou tentando lançar esta consulta de um site e estou tendo um problema: Usando algum javascript como este: var req= new XMLHttpRequest (); req.open ('GET', supracitadourl, verdadeiro) req.send ()

Recebo um erro que diz: Origem (MyDOMAIN) não é permitido pelo Controle de Acesso Permitir Origem.

Novamente, sou bastante novo em XMLHttpRequests e acho que isso é bastante simples de resolver. Ninguem sabe?(Eu tentei pesquisar no Google, mas não consegui encontrar uma boa resposta) Agradecemos antecipadamente.

Foi útil?

Solução

Você não tem permissão para fazer Cross-Site XMLHttpRequests e precisa usar umproxy para realizá-lo.

Este artigo do Yahoo explica em detalhes e dá mais ideias de comopara resolver.Mas basicamente isso não deve ser feito porque essa restrição existe para fins de segurança.

Seria melhor se você usasse PHP e fopen(), por exemplo, e simplesmente chamasse essa página usando seu objeto XMLHttpRequest.

Outras dicas

O problema é a política de mesma origem .Esta é uma regra de que XMLHTTPRequests não pode ser usado, exceto no mesmo domínio da página original.Isso é por razões de segurança.

A maneira mais fácil de contornar isso é escrever um script do lado do servidor que atue como proxy da solicitação para você.

Esta é a proteção do seu navegador contra cross side scripting.Você não tem permissão para acessar outras páginas que vêm de um domínio diferente.

EDIT: Verifique também: XMLHttpRequest entre sites

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top