jQuery ajax работает только в IE, когда отладчик IE открыт

Я столкнулся с проблемой IE (11). У меня есть простой код jQuery:

$("#my-radio").click(function () {
     $.ajax({
        url: "/my-url",
    }).error(function(jqXHR, textStatus, errorThrown) {
        $("#error-summary").text(errorThrown);
    });
});

Дело в том, что этот код отлично работает во всех браузерах, кроме IE (в моем случае, кроме IE 11, еще не тестировался в более ранних версиях), но когда я открываю IE, встроенный в отладчик javascript, чтобы видеть, что неправильно - все начинает работать просто хорошо. IE делает вызов ajax для действия контроллера, удаляется точка останова в контроллере. Действие не возвращает ничего (это тип void), просто подсчитывая некоторые вещи. Я уже пробовал решение для плагинов в этой теме, но это было не полезно.

ОБНОВЛЕНИЕ:

Чтобы продемонстрировать этот вопрос я опубликован простое приложение MVC здесь. Когда вы нажимаете на изображение, браузер делает запрос ajax для этого действия:

public string Hello()
{
     string ip = Request.ServerVariables["REMOTE_ADDR"];
     string agent = Request.UserAgent;    

     var request = new Request
     {
          IP = ip,
          Time = DateTime.UtcNow,
          UserAgent = agent
     };

     _requestsRepository.Add(request);

     int byIp = _requestsRepository.GetTotalRequestsCountByUser(ip);
     int total = _requestsRepository.TotalRequests;

     string message = string.Format("Hello, {0}. This is your {1}th request and {2}th request in total.", ip, byIp, total);

     return message;
 }

с этим кодом jQuery:

$(document).ready(function () {
    $("#click-me").click(function () {
        $.ajax({
            url: "/services/hello",
        })

        .success(function (data) {
            alert(data);
        })

        .error(function (jqXHR, textStatus, errorThrown) {
            $("#error-summary").text(errorThrown);
        });
    });
});

Как вы можете видеть - действие возвращает простую строку, которая предупреждается об успешном завершении. Вы можете попробовать эту страницу в IE. Вы заметите, что количество запросов не растет, потому что нет запроса на самом деле отправлено, но все - таки success обработчик события вызывается и сообщение будет предупрежден (это, вероятно, какой - то старый кэшируются сообщение после того, как какой - то, возможно, один успешный запрос, я не уверен,). В любом другом браузере количество запросов будет расти, потому что они отправляются каждый раз, когда вы нажимаете на изображение. Если вы включите отладчик IE - запросы будут отправлены тоже. Я предлагаю, что это какая-то проблема, связанная с кешем IE.

Ответы

Ответ 1

Похоже, вы можете получать кешированные ответы. У инструментов разработчика может быть включен параметр Всегда обновлять с сервера, что позволяет вам получать свежий ответ только при открытии самих инструментов.

Попробуйте добавить параметр cache в объект опций jQuery AJAX и установите его значение равным false.