редагувати 2018-09-13 : додано деякі вказівки щодо цього запиту перед польотом та як уникнути цього в кінці цього відповіді.
OPTIONS
запити - це те, що ми називаємо pre-flight
запитами Cross-origin resource sharing (CORS)
.
Вони необхідні, коли ви подаєте запити різного походження в конкретних ситуаціях.
Цей запит перед польотом виробляється деякими браузерами як запобіжний захід для того, щоб сервер довіряв цьому запиту. Значить сервер розуміє, що спосіб, походження та заголовки, що надсилаються на запит, безпечні для дії.
Ваш сервер не повинен ігнорувати, а обробляти ці запити, коли ви намагаєтеся робити запити перехресного походження.
Хороший ресурс можна знайти тут http://enable-cors.org/
Способом вирішення цих проблем стає зручніше - переконатися, що для будь-якого шляху з OPTIONS
методом сервер надсилає відповідь із цим заголовком
Access-Control-Allow-Origin: *
Це скаже браузеру, що сервер готовий відповідати на запити будь-якого походження.
Для отримання додаткової інформації про те, як додати підтримку CORS на ваш сервер, див наступну схему руху
http://www.html5rocks.com/static/images/cors_server_flowchart.png
редагувати 2018-09-13
OPTIONS
Запит CORS запускається лише в деяких випадках, як пояснено в документах MDN :
Деякі запити не запускають передполіт CORS. У цій статті вони називаються "простими запитами", хоча специфікація "Вибір" (яка визначає CORS) не використовує цей термін. Запит, який не викликає передпольотний запуск CORS (так званий "простий запит"), який відповідає всім наступним умовам:
Єдині дозволені методи:
Крім заголовків, встановлених автоматично агентом користувача (наприклад, Connection, User-Agent або будь-який з інших заголовків з іменами, визначеними в специфіці Fetch, як "заборонене ім'я заголовка"), єдиними заголовками можуть бути встановлені вручну - це ті, які специфікація "Вилучення" визначає як "заголовки запиту, що містяться в CORS", які:
- Прийміть
- Прийняти мову
- Мова вмісту
- Тип вмісту (але врахуйте додаткові вимоги нижче)
- ДНР
- Низхідній лінії зв'язку
- Збереження даних
- Ширина огляду
- Ширина
Єдині дозволені значення для заголовка типу вмісту:
- додаток / x-www-form-urlencoded
- багаточастинні / форми-дані
- текст / простий
На жодному об'єкті XMLHttpRequestUpload, який використовується у запиті, не зареєстровано жодних слухачів подій; Доступ до них здійснюється за допомогою властивості XMLHttpRequest.upload.
У запиті не використовується жоден об'єкт ReadableStream.