Не удается загрузить admin-ajax.php. Отсутствует заголовок access-control-allow-origin*

20 янв. 2016 г., 01:27:30
Просмотры: 28.7K
Голосов: 3

Я не могу загрузить 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, но безуспешно.

0
Все ответы на вопрос 2
2
10

Для 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;
}
8 дек. 2016 г. 23:49:05
Комментарии

У меня не сработало. Я всё равно получаю ту же ошибку.

Amjad Amjad
10 мая 2018 г. 19:38:39

Я попробовал все методы, но всё равно не могу решить свою проблему. Если у вас есть другой способ, пожалуйста, поделитесь. Спасибо.

Dharam Kumar Dharam Kumar
16 мая 2022 г. 19:56:05
0

Добавьте это в ваш файл .htaccess:

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
</IfModule>
29 мая 2017 г. 14:55:26