Safari Mobile
iPhone Safari Mobile suit CORS sémantique.
Dites, votre page est hébergée sur le domaine www.example.com
, et la page souhaite charger des données d'un domaine ou sous-domaine différent, par exemple api.example.com
en utilisant ajax.
Ensuite, api.example.com
doit être configuré pour envoyer l'en-tête CORS approprié: See, CORS topic in wikipedia
Vous pouvez également utiliser JSONP
comme solution de contournement commune. L'inconvénient de JSONP
est que votre page ne recevra pas le bon code d'erreur HTTP.
Phonegap
Si vous utilisez avec PhoneGap, vous devez ajouter le nom d'hôte (caractères génériques sont pris en charge) dans ExtenralHosts
tableau d'attributs dans Resources/Supporting Files/Cordova.plist
.
Desktop page locale
Il est habituel le cas où vous souhaitez déboguer sur un navigateur de bureau.
Pour Desktop, si et seulement si la page réside localement (c'est-à-dire file:///
), le comportement dépend du navigateur. Par défaut, Safari (sur Mac et Windows) permet à une page locale d'effectuer un ajax sur n'importe quel hôte.
Avec Chrome, cependant, il nécessite l'en-tête CORS tout comme le cas non local. L'en-tête CORS doit inclure file:///
comme domaine acceptable pour CORS ajax pour fonctionner. JSONP fonctionne également sur Chrome.