У меня есть проблема со страницей в Internet Explorer. У меня есть вызов ajax, который называет форму в другом браузере, когда я нажимаю на ссылку, это передает в контроллере, и загрузите правильно данные. но в IE, когда его загруженное однажды, это aways приносит мне те же старые результаты, не передавая в контроллере.
Попробуйте:
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
Этот атрибут, помещенный в класс контроллера, отключает кеширование. Поскольку в моем приложении кеширование не требуется, я поместил его в свой класс BaseController:
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
public abstract class BaseController : Controller
{
Вот хорошее описание OutputCacheAttribute: Повышение производительности с помощью кэширования вывода
Вы также можете включить его в действие.
Вы можете попробовать установить кэш
параметр для 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();