Safari 10.1: XMLHttpRequest avec les paramètres de la requête ne peut pas charger en raison de l'accès de contrôle vérifie

Si vous essayez une de la SCRO demande sur Safari 10.1, sur une URL qui comprend des paramètres de requête (par exemple,https://example.com/api?v=1), Safari dit

XMLHttpRequest ne peut pas charger en raison de l'accès de contrôle vérifie

Chrome/Firefox, beau travail.

Sur demande à partir de la page sans le "?v=1", Safari fonctionne très bien aussi.

J'ai essayé de changer de serveur en-tête de réponse de

Access-Control-Allow-Origin: https://example.com

à

Access-Control-Allow-Origin: https://example.com/api?v=1

mais que les sauts de Chrome.

Des suggestions?

  • essayez avec encodeURI('https://example.com/api?v=1')
  • essayé, pas de changement: Réponse à la demande de contrôle en amont ne passent pas de contrôle d'accès: Le "Access-Control-Allow-Origin' en-tête a une valeur 'test.com/page?v=1 " qui n'est pas égal à celui fourni d'origine. Origine 'test.com' est donc pas autorisé à accéder.
  • J'ai le même problème avec Safari lors de l'exécution d'un site localement.
  • Avez-vous tout de trouver une solution @Gaz ou Marius?
  • Apparemment avoir le même problème ici. - Nous tout simplement désactiver l'utilisation de paramètres de requête pour garder Safari heureux?
  • Avez-vous lu ce post?: discussions.apple.com/message/31846683#31846683 la réponse est curieux, en raison de malware? je n'ai pas de MAC mais des bruits étranges
  • access-control-allow-origin est un peu le vertige... pourriez-vous spécifier correctement l'url de votre page html, l'url où les demandes XHR contenu et le serveur où vous avez ajouté access-control-allow-origin pour?
  • Je sais que c'est 8 mois de retard, mais avez-vous comparé les en-têtes dans les différents scénarios? Je demande parce que de cette solution, même si ce n'est pas de chaîne de requête relative: stackoverflow.com/a/22924272/2133723 Safari a été la définition de certains en-têtes n'étaient pas autorisés.
  • Ou essayez avec encodeURIComponent(https://example.com/api?v=1)