Почему Safari выполняет fetch() дважды, когда я обновляюсь?
Я возлюсь с HTML/JS на Glitch. Это весело! Я начал играть с API выборки, чтобы совершать звонки, чтобы я мог взаимодействовать с базой данных SQLite, и я заметил что-то странное, когда откатывался. У меня были методы входа в систему, и они вызывались дважды.
Поэтому я сделал проект для демонстрации: http://safari-fetchfetch.glitch.me/
Вы можете раскошелиться / ткнуть в него, чтобы увидеть код. Он регистрирует на стороне сервера каждый раз, когда конечная точка /fetch
называется. Я ожидал бы, что каждый доступ испускает одно сообщение регистрации.
Это происходит при первой загрузке Safari. Однако при каждой последующей загрузке сервер регистрирует два попадания в конечную точку. Зачем? Я пробовал в Chrome и не могу воспроизвести его. Похоже, этого не происходит в экземпляре Safari Private Browsing.
Я попытался записать больше частей запроса, но ничего не выглядит подозрительно. Я видел несколько страниц, которые говорят, что это может быть связано с CORS, но это того же происхождения, верно? Даже когда я явно устанавливаю параметры для использования политики одного и того же происхождения, это продолжается. Когда я использую инспектор Safari для просмотра заголовков этого запроса, я не вижу вещей, которые, похоже, связаны с CORS.
Что происходит?
0 ответов
Может быть это ошибка.
(Поздно я знаю, но для других, подобных мне, чей поиск нашел этот вопрос SO, но не другие соответствующие страницы.)