Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Se você chegou aqui é porque provavelmente estava desenvolvendo um widget e se deparou com uma mensagem similar a apresentada abaixo.:

Bloco de código
XMLHttpRequest cannot load http://pudim.com.br/service.
No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://pudim.com.br’ is therefore not allowed access.

Páginas web comuns podem utilizar o objeto XMLHttpRequest para enviar e receber dados de servidores remotos, porém as ações que podem essas página poderão realizar são limitadas pela política de mesma origem (same-origin policy).

Este é um conceito muito importante no modelo de segurança dos navegadores atuais, pois define que scripts de uma página "A" somente podem acessar dados de uma página "B" somente se ambas estiverem na possuírem a mesma origemA origem de uma página é definida pelo seu protocolo, endereço e porta.

Felizmente, nem tudo é afetado pela same-origin policy. Por exemplo, é possível carregar uma imagem externa ou um script de um domínio diferente da página atual. Isto é exatamente o que você faz quando utiliza uma imagem externa numa página. Entretanto, isso ainda não ajuda muito quando precisamos é o suficiente quando precisa-se obter dados JSON para exibir e exibi-los em um widget no fluig.


JSONP pode ser a solução

 JSONP - (JSON with Padding - ) é uma técnica que nos dispõe disponibiliza uma forma de acessar os dados JSON que precisamos. Isto é feito com os dados sendo empacotados através do empacotamento dos dados em uma função de callback (o "padding") que será interpretada pelo navegador em JavaScript. Esta função precisa ser definida no widget que receberá o retorno JSONP.

...