Je ne peux pas charger admin-ajax.php
et je continue à recevoir ce message d'erreur:
XMLHttpRequest ne peut pas charger ..../wp-admin/admin-ajax.php.,. Aucun en-tête 'Access-Control-Allow-Origin' n'est présent sur ...
Sur WAMP local, cela a fonctionné juste pour ajouter ceci:
header("Access-Control-Allow-Origin: *");
(Même si cela semble très stupide car la prochaine fois que WordPress sera mis à jour, je suppose que cela disparaîtrait.)
Lorsque je télécharge ceci sur mon serveur de production, le même message persiste:
XMLHttpRequest ne peut pas charger ..../wp-admin/admin-ajax.php.,. Aucun en-tête 'Access-Control-Allow-Origin' n'est présent sur ...
J'ai essayé de modifier le fichier .htaccess
et cela semblait activer CORS, mais cela n'affectera pas admin-ajax.php
:
<IfModule mod_headers.c>
Header add Access-Control-Allow-Origin: *
</IfModule>
J'ai également essayé d'installer WP-CORS plugin sans succès.
Il existe des filtres pour allowed_http_origins
et add_allowed_origins
. Vous pouvez les utiliser pour définir le bon en-tête Access-Control-Allow-Origin dans la réponse à votre appel AJAX.
Ajoutez ceci au fichier functions.php
de votre thème:
add_filter('allowed_http_origins', 'add_allowed_origins');
function add_allowed_origins($origins) {
$origins[] = 'https://www.yourdomain.com';
return $origins;
}