Не удается загрузить admin-ajax.php. Отсутствует заголовок access-control-allow-origin*
Я не могу загрузить admin-ajax.php
и получаю следующее сообщение об ошибке:
XMLHttpRequest не может загрузить ..../wp-admin/admin-ajax.php.,. Отсутствует заголовок 'Access-Control-Allow-Origin' на...
На локальном WAMP сработало добавление следующего:
header("Access-Control-Allow-Origin: *");
(Хотя это кажется не очень разумным, так как после следующего обновления WordPress это, вероятно, исчезнет.)
Когда я загружаю это на рабочий сервер, всё равно получаю то же сообщение:
XMLHttpRequest не может загрузить ..../wp-admin/admin-ajax.php.,. Отсутствует заголовок 'Access-Control-Allow-Origin' на...
Я пытался изменить файл .htaccess
, и это, похоже, активировало CORS, но это не повлияло на admin-ajax.php
:
<IfModule mod_headers.c>
Header add Access-Control-Allow-Origin: *
</IfModule>
Я также пробовал установить плагин WP-CORS, но безуспешно.
Для allowed_http_origins
и add_allowed_origins
существуют фильтры.
Вы можете использовать их, чтобы установить правильный заголовок Access-Control-Allow-Origin в ответ на ваш AJAX-запрос.
Добавьте это в файл functions.php
вашей темы:
add_filter('allowed_http_origins', 'add_allowed_origins');
function add_allowed_origins($origins) {
$origins[] = 'https://www.yourdomain.com';
return $origins;
}
