Array
(
)

Requisição cross-origin bloqueada

Ronaldo Lima
   - 16 jun 2015

Não sou muito bom para me expressar mais tentarei fazer o máximo,
Estou criando um app usando AngularJS e Ionic, até ai está tudo ótimo... No dashboard está tudo ok também. Estou tendo um problema para receber os dados na App como o back-end está hospedado em um host quando tento fazer as requisições dispara a mensagem
#Código

Requisição cross-origin bloqueada: A política de mesma origem (Same Origin Policy) impede a leitura do recurso remoto em http://www.dlima.art.br/lab/AngularCodeCustomerManagerApp/services/customers. (Motivo: o cabeçalho CORS 'Access-Control-Allow-Origin' não está presente).

1º A pratica correta é direcionar a aplicação diretamente para a API ?
#Código
app.factory("services", ['$http', function($http) {
  var serviceBase = 'http://www.dlima.art.br/lab/AngularCodeCustomerManagerApp/services/'
    var obj = {};
    obj.getCustomers = function(){
        return $http.get(serviceBase + 'customers');
    }  etc ..... 

2º É melhor tentar desenvolver algo para receber esse JSON e não fazer essa requisição diretamente ou apenas ajustar o cabeçalho CORS? Se sim como ajusto isso... tentei de diversas formas
Desde já grato!

Francine Melo
   - 09 jul 2015

Conseguiu solucionar o problema? Estou com a mesma dúvida.

Ronaldo Lima
   - 09 jul 2015

O meu exemplo a API era para um APP mobile, só definir o cabeçalho do CORS

#Código

Access-Control-Allow-Origin: http://SiteQueVouBuscar.com/suaApi


no meu caso eu declarei no config.xml e tive que colocar o Plugin do Whitelist

isso é apenas para desenvolvimento mobile

#Código
<content src="index.html"/>

#Código
 <access origin="http://SiteQueVouBuscar.com/suaApi"/>  // cabeçalho Cors

#Código
 <allow-navigation href="http://SiteQueVouBuscar.com/suaApi"/> // whitelist