2017-02-18 1 views
1

Я пытаюсь сделать запрос cors PUT, используя ваниль Fetch APIПочему Fetch API Отправить первый запрос PUT в качестве опции

Когда я нажимаю мою кнопку, чтобы отправить запрос PUT, способ по первому требованию является OPTIONS , Только когда я снова нажимаю кнопку, метод по запросу изменяется на PUT. Зачем?

Я понимаю, что это часть предполетания CORS, но есть ли способ инициировать предполетный период вручную, чтобы можно было кэшировать ответ OPTIONS?

Не может ли такое поведение свидетельствовать о неудачном обещании?

+0

Вы прочитали спецификацию? – guest271314

+0

Да, я прочитал спецификацию. Мне интересно, как это обрабатывается - мне нужно проверить уже отправленный запрос, чтобы узнать, является ли это запрос OPTIONS, а затем отправить его еще раз? – CamelBlues

+0

Является ли спецификация непонятной? – guest271314

ответ

2

См Fetch Standatd на 4.7. CORS-preflight fetch

Примечание Это фактически реализация пользовательского агента чека, чтобы увидеть, если CORS protocol понимается. Так называемый CORS-preflight request. В случае успеха он заполняет CORS-preflight cache, чтобы свести к минимуму количество этих выборок.

с шагами с 1 по 7; тоже 4.8. CORS-preflight cache.

Смежные вопросы