Я знаю, что очень очень опаздываю на эту вечеринку, но просто чтобы поставить ее там. И мне жаль воскрешать этот вопрос из земли зомби.
В сафари и некоторых старых браузерах (из того, что я испытывал до сих пор, cache:false
, похоже, иногда не работает). для более кроссбраузерно-совместимого решения вы можете добавить опцию data к вызову ajax () и добавить генератор случайных чисел в качестве параметра. Было бы что-то вроде этого.
var callback = function () {
$.ajax({
type: "GET",
url: requestUrl,
success: localSuccess,
error: error,
dataType: "text",
//won't work sometimes
cache:false,
//start random number generator
data : { r: Math.random() }
//end random number generator
});
}
Таким образом, каждый раз, когда происходит серверный вызов, будет генерироваться новое случайное число, и, поскольку данные отличаются от предыдущих запросов, ajax-запросы не будут кэшироваться и будут обеспечивать новый вызов сервера каждый раз. И на вашем сервере вы можете игнорировать эту переменную r
.