Я знаю, что здесь много тем по этому вопросу, но, похоже, ничто не поможет.У меня есть приложение Angular 7, работающее на http://localhost:4201
и сайт Wordpress с включенным REST API.Если я позвоню http://appsite.com:8080/wp-json/
(на самом деле это также локальный сервер, работающий на OpenServer), я получу огромный JSON со всей информацией моего сайта, так что я уверен, что API работает.Но когда я пытаюсь вызвать этот URL из моего приложения Angular, я всегда получаю эту ошибку
Доступ к XMLHttpRequest по адресу http://appsite.com:8080/wp-json/' от источника 'http://localhost:4201' заблокированПолитика CORS: Ответ на запрос предварительной проверки не проходит проверку контроля доступа: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».
У меня есть эта ловушка уwordpress functions.php
add_action( 'rest_api_init', function() {
remove_filter( 'rest_pre_serve_request', 'rest_send_cors_headers' );
add_filter( 'rest_pre_serve_request', function( $value ) {
header( 'Access-Control-Allow-Origin: *' );
header( 'Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE' );
header( 'Access-Control-Allow-Credentials: true' );
return $value;
});
}, 15 );
Но это не работает.Я даже пытался назвать это header( 'Access-Control-Allow-Origin: *' );
в index.php
Что с этим не так?