Ошибка CORS при отправке GET на локальный хост из file: // URL через XMLHttpRequest - PullRequest
0 голосов
/ 24 декабря 2018

На моем компьютере работает сервер и простой файл .html с кнопкой для получения данных с сервера.

Он использует Javascript XMLHttpRequest для отправки GET-ответа на серверное приложение, т.е. localhost с портом приложения "http://localhost:8888/getData",, но выдает ошибку CORS в браузере Firefox.

Сценарийвыполнение запроса осуществляется через файл: // URL.

Я искал много информации по этому вопросу, но не нашел ее. Есть ли способ ее решить? У меня нетлюбой опыт в веб-разработке и не может правильно понять некоторые вещи, но когда я пишу "http://localhost:8888/getData" в адресной строке браузера, он отлично работает.

Ответы [ 2 ]

0 голосов
/ 24 декабря 2018

Вам необходимо добавить поддержку CORS.

Чтобы включить перекрестные запросы в FireFox, Safari, Chrome и IE 10 и более поздних версиях, ваш сервер должен прикрепить следующие заголовки ко всем ответам:

Access-Control-Allow-Origin: доменное имя

Access-Control-Allow-Credentials: true

Access-Control-Allow-Methods: ACL, CANCELUPLOAD, CHECKIN, CHECKOUT, COPY, DELETE, GET, HEAD, LOCK, MKCALENDAR, MKCOL, MOVE, OPTIONS, POST, PROPFIND, PROPPATCH, PUT, REPORT, SEARCH, UNCHECKOUT, UNLOCK, UPDATE, VERSION-CONTROL Access-Control-Allow-Headers: перезапись, назначение, содержимое-Тип, Глубина, Пользователь-агент, Перевести, Диапазон, Диапазон содержимого, Тайм-аут, Размер X-файла, Требуется X-С, Если изменено-С, Имя-X-файла, Управление кэшем, Расположение, Блокировка-Токен, если Access-Control-Expose-Headers: DAV, content-length, Allow

Эти заголовки будут разрешать междоменные запросы в FireFox 3.6+, Safari 4+, Chrome 4+ и IE 10 +

0 голосов
/ 24 декабря 2018

Сервер должен знать о происхождении.В Java вы можете использовать аннотацию @crossorigin.

...