Каков наилучший способ запретить IE кэшировать Ajax-вызовы?
Я работал над проектом MVC 5/Jquery, и мы столкнулись с проблемой IE 10/11. Internet Explorer кеширует последующие вызовы ajax.
Мы решили эту проблему
отключение кэша при каждом вызове jQuery ajax:
$.ajaxSetup ({cache: false, заголовки: { 'Cache-Control': 'no-cache, no-store, must-revalidate', 'Pragma': 'no-cache', 'Expires': '0' } });
отключение кэширования на стороне сервера / контроллера:
// GetFolderDetails is the Action being called through ajax.
public ActionResult GetFolderDetails(long folderId)
{
// Code Here...
TurnOffResponseCaching();
return PartialView(PartialView_FolderDetails, selectedFolder);
}
private void TurnOffResponseCaching()
{
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Response.Cache.SetRevalidation(System.Web.HttpCacheRevalidation.AllCaches);
}
Оба эти решения решили проблему.
Как лучше всего отключить кэширование при каждом вызове ajax?