У меня есть страница 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?