Почему Safari выполняет fetch() дважды, когда я обновляюсь?

Я возлюсь с HTML/JS на Glitch. Это весело! Я начал играть с API выборки, чтобы совершать звонки, чтобы я мог взаимодействовать с базой данных SQLite, и я заметил что-то странное, когда откатывался. У меня были методы входа в систему, и они вызывались дважды.

Поэтому я сделал проект для демонстрации: http://safari-fetchfetch.glitch.me/

Вы можете раскошелиться / ткнуть в него, чтобы увидеть код. Он регистрирует на стороне сервера каждый раз, когда конечная точка /fetch называется. Я ожидал бы, что каждый доступ испускает одно сообщение регистрации.

Это происходит при первой загрузке Safari. Однако при каждой последующей загрузке сервер регистрирует два попадания в конечную точку. Зачем? Я пробовал в Chrome и не могу воспроизвести его. Похоже, этого не происходит в экземпляре Safari Private Browsing.

Я попытался записать больше частей запроса, но ничего не выглядит подозрительно. Я видел несколько страниц, которые говорят, что это может быть связано с CORS, но это того же происхождения, верно? Даже когда я явно устанавливаю параметры для использования политики одного и того же происхождения, это продолжается. Когда я использую инспектор Safari для просмотра заголовков этого запроса, я не вижу вещей, которые, похоже, связаны с CORS.

Что происходит?

0 ответов

Может быть это ошибка.

(Поздно я знаю, но для других, подобных мне, чей поиск нашел этот вопрос SO, но не другие соответствующие страницы.)

Другие вопросы по тегам