Прототип Ajax Object на самом деле не делает запрос в IE 8 - PullRequest
1 голос
/ 17 января 2011

У меня есть страница JSP со следующим кодом javascript:

var refreshAjax = {};
function refreshDataOnClickHandler()
    {
        Event.stopObserving($("refreshdata"), "click", refreshDataOnClickHandler);
        refreshAjax = new Ajax.Request("/Locator",
                            {method: "get",
                            onSuccess: onRefreshDataSuccessHandler,
                            onFailure: onRefreshDataFailureHandler,
                            parameters: {
                                            serviceCenter: $("servicecenterselect").getValue(),
                                            action: "RefreshData"
                                        }
                            });
    }

function onRefreshDataSuccessHandler(response)
    {
        $("dashboardmessage").update("Data Refreshed.");
        $("mapRefresh").src = "Images/RefreshData.png";
        refreshAllStopsAndTrucks();
        Event.observe($("refreshdata"), "click", refreshDataOnClickHandler);
    }

Event.observe($("refreshdata"), "click", refreshDataOnClickHandler);

$ ("refreshdata") преобразуется в тег привязки.«/ Локатор» преобразуется в сервлет Java.Я использую IE 8. Я использую Prototype 1.6.1.

При первой загрузке страницы и нажатии «refreshdata» сервлет вызывается правильно, и я получаю ожидаемый ответ.Каждый раз, когда я нажимаю на якорь «refreshdata», Javascript, кажется, проходит все этапы выполнения вызова и даже указывает, что он получает ответ.Однако сервлет никогда не вызывается.На самом деле ответ не отправляется.

Единственный способ восстановить его правильную работу - это выключить IE 8 и перезапустить его.

Это правильно работает в Chrome и Firefox.Кто-нибудь знает, какая странность браузера IE мешает этому работать в IE?

1 Ответ

2 голосов
/ 18 января 2011

IE, вероятно, кэширует результат запроса Ajax GET.

Если вы хотите всегда получать последние данные с сервера, вам следует либо

  • Используйте POST
  • Добавить случайное значение в качестве параметра запроса

Некоторые соответствующие ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...