Кордова-плагин-белый список вопрос?«Источник контроля доступа не может содержать более одного источника» после обновления Cordova, Ionic - PullRequest
0 голосов
/ 22 октября 2018

Я создал 40+ приложений, основанных на том же коде в Cordova / Ionic, которые работают отлично.Затем я обновил свою локальную среду (последние npm, node, ionic, cordova).Когда я тестирую свои приложения в локальном браузере (ionic serve), они работают нормально.Когда я собираю их и внедряю на моем тестовом устройстве, все вызовы ajax на МОЙ сервер завершаются неудачно с:

 Access Control Origin Cannot contain more than one origin. 

Вызовы ajax на 2 других домена API в порядке.Я ничего не изменил на моем сервере, и старые двоичные файлы все еще работают нормально.Когда я проверяю панель разработчика Safari, она показывает эту ошибку, но говорит, что с сервера не возвращалась информация заголовка, поэтому я не могу понять, какие заголовки отклоняются.Я запускаю глобальный поиск по своему коду PHP-сервера и вижу только стандартные заголовки доступа.

    header('Access-Control-Allow-Origin: *');
    header("Access-Control-Allow-Headers: X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method");
    header("Access-Control-Allow-Methods: GET, POST, OPTIONS");

В моем index.html также есть метатег

<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline' 'unsafe-eval' *; style-src  'self' 'unsafe-inline' *">

Config.xmlсодержит

<access origin="*" />
<plugin name="cordova-plugin-whitelist" spec="1.0.0" />

Я не изменил что-либо на сервере (другие не обновленные двоичные файлы xcode не имеют этой проблемы), поэтому ошибка должна исходить от внутреннего прокси-сервера ajaxразрешить в обновленном коде.

Что еще можно попробовать?Как я могу увидеть, какие заголовки происхождения были найдены и отклонены?

1 Ответ

0 голосов
/ 22 октября 2018

Я не до конца понимаю, почему это вызвало ошибку сейчас, а не раньше, НО я нашел файл .htaccess в своем каталоге / home на сервере с директивой заголовка доступа для шрифтов.

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

Я прокомментировал это, и теперь мои вызовы ajax работают с моим обновленным кодом.

...