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ódigoRequisiçã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ódigoAccess-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