У нас есть веб-приложение, работающее корректно уже более года в большинстве браузеров. Недавно мы обнаружили, что он плохо работает на Safari.
В результате многих действий появляется следующая ошибка: Failed to load resource: Request timed out
. Забавно, что действие действительно выполняется правильно после этого (большую часть времени).
Когда вы просматриваете ошибку, это происходит, когда есть запрос ajax.
Сначала я попытался изменить параметр таймаута ajax, выполнив следующие действия:
$.ajax({
"type" : methode,
"dataType" : "json",
"url" : url,
"async" : async,
"data" : donneesEnvoyees,
"timeout" : 60000
})
Это ничего не изменило, ошибка на самом деле появляется примерно через 10 секунд, что меньше заданного тайм-аута.
Прочитав немного в Интернете, я увидел некоторый ответ о том, чтобы указать отсутствие кеша, чтобы сафари не сохраняло параметры сообщения в кеше. Я не могу сказать, что я это полностью понимаю, но я все еще пробовал следующим образом:
$.ajax({
"type" : methode,
"headers" : { "cache-control": "no-cache" }, <-- added this line
"dataType" : "json",
"url" : url,
"async" : async,
"data" : donneesEnvoyees,
"timeout" : 60000
})
Как вы можете догадаться, я все равно получаю ту же ошибку.
Есть ли у вас какое-то представление о том, что происходит? Почему эта ошибка происходит только в Safari, а не в других браузерах? Как это исправить?