Internet Explorer, Кэширующийся asp.netmvc ajax результаты

У меня есть проблема со страницей в Internet Explorer. У меня есть вызов ajax, который называет форму в другом браузере, когда я нажимаю на ссылку, это передает в контроллере, и загрузите правильно данные. но в IE, когда его загруженное однажды, это aways приносит мне те же старые результаты, не передавая в контроллере.

18
задан Diego Correa 16 April 2010 в 13:01
поделиться

2 ответа

Попробуйте:

[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]

Этот атрибут, помещенный в класс контроллера, отключает кеширование. Поскольку в моем приложении кеширование не требуется, я поместил его в свой класс BaseController:

[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
public abstract class BaseController : Controller
{

Вот хорошее описание OutputCacheAttribute: Повышение производительности с помощью кэширования вывода

Вы также можете включить его в действие.

27
ответ дан 30 November 2019 в 07:08
поделиться

Вы можете попробовать установить кэш параметр для false :

$.ajax({
    url: '/controller/action',
    type: 'GET',
    cache: false,
    success: function(result) {

    }
});

Этот параметр заставит браузер не кэшировать запрос.


ОБНОВЛЕНИЕ:

На основании комментария вы можете добавить уникальную метку времени к URL-адресу, чтобы избежать проблем с кешированием:

var d = new Date();
var myURL = 'http://myserver/controller/action?d=' + 
    d.getDate() + 
    d.getHours() + 
    d.getMinutes() + 
    d.getMilliseconds();
10
ответ дан 30 November 2019 в 07:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: