Eu desenvolvi um aplicativo PhoneGap que agora está sendo transformado em um site móvel. Tudo funciona bem, exceto uma pequena falha. Eu uso uma determinada API de terceiros por meio de uma solicitação POST, que funciona bem no aplicativo, mas falha na versão do site móvel.
Depois de um olhar mais atento, parece que o AngularJS (na verdade, acho que o navegador) está enviando primeiro uma solicitação OPTIONS. Aprendi muito hoje sobre o CORS, mas não consigo descobrir como desativá-lo completamente. Não tenho acesso a essa API (portanto, alterações nesse lado são impossíveis), mas eles adicionaram o domínio no qual estou trabalhando ao cabeçalho Access-Control-Allow-Origin.
Este é o código do qual estou falando:
var request = {
language: 'fr',
barcodes: [
{
barcode: 'somebarcode',
description: 'Description goes here'
}
]
};
}
var config = {
headers: {
'Cache-Control': 'no-cache',
'Content-Type': 'application/json'
}
};
$http.post('http://somedomain.be/trackinginfo', request, config).success(function(data, status) {
callback(undefined, data);
}).error(function(data, status) {
var err = new Error('Error message');
err.status = status;
callback(err);
});
Como posso evitar que o navegador (ou AngularJS) envie essa solicitação OPTIONS e pule para a solicitação POST real? Estou usando o AngularJS 1.2.0.
Desde já, obrigado.