Opracowałem aplikację PhoneGap, która jest obecnie przekształcana w witrynę mobilną. Wszystko działa sprawnie poza jedną małą usterką. Używam interfejsu API innej firmy za pośrednictwem żądania POST, które działa dobrze w aplikacji, ale nie działa w wersji mobilnej strony internetowej.
Po bliższym przyjrzeniu się wydaje się, że AngularJS (wydaje mi się, że faktycznie przeglądarka) najpierw wysyła żądanie OPTIONS. Dowiedziałem się dzisiaj wiele o CORS, ale nie wiem, jak go całkowicie wyłączyć. Nie mam dostępu do tego API (więc zmiany po tej stronie są niemożliwe), ale dodali domenę, nad którą pracuję, do nagłówka Access-Control-Allow-Origin.
Oto kod, o którym mówię:
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);
});
Jak mogę uniemożliwić przeglądarce (lub AngularJS) wysyłanie żądania OPCJI i po prostu przejść do rzeczywistego żądania POST? Używam AngularJS 1.2.0.
Z góry dziękuję.