Lors de l’essai d’une requête CORS sur Safari 10.1, sur une URL comportant des paramètres de requête (par exemple, https://example.com/api?v=1 ), Safari déclare
XMLHttpRequest ne peut pas être chargé en raison de contrôles de contrôle d'accès
Chrome/Firefox fonctionnent bien.
Sur les demandes de page sans "? V = 1", Safari fonctionne également très bien.
J'ai essayé de changer l'en-tête de réponse du serveur de
Access-Control-Allow-Origin: https://example.com
à
Access-Control-Allow-Origin: https://example.com/api?v=1
mais cela casse Chrome.
Aucune suggestion?
Essayer de suivre pourrait marcher -
Access-Control-Allow-Origin: <Origin> | *
Vous rencontrez des problèmes avec la SCRO.
Quelques causes possibles:
Access-Control-Allow-Origin
ne peut être défini que côté serveur, pas dans le script de votre client. (Vous n'avez pas précisé que vous l'avez fait correctement.)http
vs https
vs peut-être même file
) est exactement le même? "^http(s)?://(.+\.)?test\.com$
.^
marque le début de la ligne pour empêcher quoi que ce soit qui précède cette URL. Vous avez besoin d'un protocole et permettant les deux ici. Un sous-domaine est facultatif. Et le $
marque la fin de la ligne (vous n'avez pas besoin de définir des sous-pages, car Origin est uniquement basé sur l'hôte).Access-Control-Allow-Headers: Origin
à la configuration du serveur peut également constituer une solution. Essayez de comparer les requêtes réelles de Safari avec les requêtes réussies de Firefox ou de Chrome pour repérer également les en-têtes manquants (et peut-être les comparer à la configuration de votre serveur).