Cannot load admin-ajax.php. No access-control allow origin*

I cannot load admin-ajax.php and I keep getting this error message:

XMLHttpRequest cannot load ..../wp-admin/admin-ajax.php.,. No 'Access-Control-Allow-Origin' header is present on...

On local WAMP it worked just to add this:

header("Access-Control-Allow-Origin: *"); 

(Even if this seems very stupid because next time WordPress updates I guess this would disappear.)

When I upload this to my production server it's still the same message:

XMLHttpRequest cannot load ..../wp-admin/admin-ajax.php.,. No 'Access-Control-Allow-Origin' header is present on...

I've tried to modify the .htaccess file and that seemed to activate CORS, but that won't affect admin-ajax.php:

IfModule mod_headers.c
   Header add Access-Control-Allow-Origin: *
/IfModule

I've also tried to install WP-CORS plugin without success.

Topic headers ajax Wordpress

Category Web


Add this to your .htaccess file:

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
</IfModule>

There are filters for allowed_http_origins and add_allowed_origins. You can use them to set the proper Access-Control-Allow-Origin header in the response to your AJAX call.

Add this to your theme's functions.php file:

add_filter('allowed_http_origins', 'add_allowed_origins');

function add_allowed_origins($origins) {
    $origins[] = 'https://www.yourdomain.com';
    return $origins;
}

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.