web-dev-qa-db-fra.com

XMLHttpRequest ne peut pas charger Joomla 2.5 | VM2

C'est vraiment étrange ... Je reçois cette erreur dans la console chaque fois que j'entre dans les détails du produit de certains produits (pas tous):

"xmlhttprequest ne peut pas charger non 'access-control-allow-Origin'"

Voici une image:

enter image description here

J'ai essayé de le réparer en ajoutant au code htaccess le code suivant:

Header set Access-Control-Allow-Origin "*"

Mais ça n'a pas marché ... Quelqu'un peut-il m'aider? J'ai besoin d'aide très rapidement ... JQuery ne fonctionne pas dans cette partie de la page à cause de cette erreur ...

1
Antonio

La raison pour laquelle vous recevez ce message est indiquée dans votre image - vous essayez d'accéder http://benaventegrow.com sur le site Web http://www.benaventegrow.com Ils se ressemblent, mais ils ne sont pas identiques. Alors pourquoi est-ce un problème?

Le code JavaScript est limité par la règle de même origine, ce qui signifie qu'à partir d'une page sur www.example.com, vous pouvez uniquement adresser des demandes (AJAX) à des services situés exactement dans le même domaine, dans ce cas exactement www.example.com. (pas exemple.com - sans le www - ou quoi que ce soit.exemple.com).

Le lien ci-dessous explique beaucoup mieux que moi ce qui se passe et constitue la source de la citation ci-dessus. https://stackoverflow.com/a/20434788/69105

Comment résoudre?

Avertissement: Je n'ai jamais utilisé virtuemart auparavant, mais ce que je voudrais faire est de vérifier les entrées de produit dans virtuemart pour les produits qui vous donnent l'erreur. Vérifiez que les entrées du produit contiennent www dans le lien. Exemple -> http: // www .benaventegrow.com s’ils ne l’ont pas, ajoutez-le.

Aussi, c'est une mauvaise idée d'utiliser Header set Access-Control-Allow-Origin "*"

En répondant avec Access-Control-Allow-Origin: * la ressource demandée permet le partage avec chaque origine. Cela signifie en gros que n'importe quel site peut envoyer une demande XHR à votre site et accéder à la réponse du serveur, ce qui ne serait pas le cas si vous n'aviez pas implémenté cette réponse CORS.

Ceci est expliqué plus en détail ici https://stackoverflow.com/a/12014554/69105 et c'est la source de la citation ci-dessus.

2
TryHarder