Действие MVC не вызывается в Internet Explorer и Mozilla firefox

Добрый день. В моем приложении всякий раз, когда я нажимаю кнопку возврата в браузере, я хочу получить данные. Я получаю данные в браузере Google Chrome, он работает нормально, но когда я тестирую в Inter explorer 11 и Mozilla Firefox, он не работает. действие не вызывается, предупреждение выполняется, но действие не вызывается, когда я тестирую в любом браузере всякий раз, когда пользователь нажимает кнопку возврата, срабатывает предупреждение

bajb_backdetect.OnBack = function () {

            alert(document.referrer);

           var url = "/Login/GetID";
                $.getJSON(
                    url,
                    null,
                    function (data) {
                        alert(data);
                    });
        }

person suraj    schedule 12.08.2014    source источник
comment
Не стоит возиться с кнопкой «Назад» в браузере. Хотя это возможно, не все браузеры справятся с этим хорошо, и это может оттолкнуть ваших пользователей.   -  person DavidG    schedule 12.08.2014
comment
да, но я тестировал в IE, Safari, Opera, Google Chrome it, Mozilla, он отлично работает, если вы знаете, что пользователь нажал кнопку возврата в браузере, My Action не вызывается в браузере IE   -  person suraj    schedule 12.08.2014
comment
Если вы протестировали и он работает нормально, в чем проблема?   -  person DavidG    schedule 12.08.2014
comment
Мое действие (/ Login / GetID) GetID не вызывается, но предупреждает, что срабатывает мой   -  person suraj    schedule 12.08.2014
comment
Вероятно, он кеширован или что-то в этом роде. То, что вы пытаетесь сделать, НЕ является хорошей идеей и в конечном итоге доставит вам больше проблем.   -  person DavidG    schedule 12.08.2014
comment
Любой другой способ узнать, нажал ли пользователь кнопку возврата браузера, в основном то, что я хочу. Когда пользователь входит в систему, переходит на следующую страницу (например, домашняя страница), а затем снова нажимает кнопку возврата в браузере, затем снова появится экран входа в систему, если он нажимает кнопку возврата браузера, это приведет его к домашней странице без входа в систему, что неверно, я хочу очистить сеансы   -  person suraj    schedule 12.08.2014
comment
Другой способ сделать это в глобальном файле добавьте это событие, но я не использую этот защищенный void Application_BeginRequest (Object sender, EventArgs e) {// Код отключает кеширование браузером. Следовательно, кнопка браузера «Назад» Response.Cache.SetCacheability (HttpCacheability.NoCache); Response.Cache.SetExpires (DateTime.UtcNow.AddHours (-1)); Response.Cache.SetNoStore (); }   -  person suraj    schedule 12.08.2014
comment
Какая разница, если пользователь вернется на страницу входа в систему? Это то, что ДОЛЖНО произойти, и чего ожидает пользователь.   -  person DavidG    schedule 12.08.2014
comment
:) знаю, но я должен это сделать   -  person suraj    schedule 12.08.2014
comment
Тогда напомните мне никогда не посещать ни один из ваших сайтов :)   -  person DavidG    schedule 12.08.2014
comment
:) почему мое действие не называется, это не работает в IE, а Mozilla отдыхает в Google Chrome, Safari, Opera, он отлично работает там, где я ошибаюсь :(   -  person suraj    schedule 12.08.2014


Ответы (1)


Вы можете предотвратить такое поведение, добавив "cache: false" к каждому вызову.

$.ajaxSetup({
    cache: false
});
person Alejandro Garcia    schedule 01.11.2018