J'avais développé une application PhoneGap qui est en train d'être transformée en site Web mobile. Tout fonctionne bien à part un petit problème. J'utilise une certaine API tierce via une requête POST, qui fonctionne bien dans l'application, mais échoue dans la version du site Web mobile.
Après un examen plus approfondi, il semble qu'AngularJS (je suppose que le navigateur en fait) envoie d'abord une requête OPTIONS. J'ai beaucoup appris aujourd'hui sur CORS, mais je n'arrive pas à comprendre comment le désactiver complètement. Je n'ai pas accès à cette API (donc les changements de ce côté sont impossibles), mais ils ont ajouté le domaine sur lequel je travaille à leur en-tête Access-Control-Allow-Origin.
C'est le code dont je parle:
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);
});
Comment puis-je empêcher le navigateur (ou AngularJS) d'envoyer cette requête OPTIONS et passer simplement à la requête POST réelle? J'utilise AngularJS 1.2.0.
Merci d'avance.