gpt4 book ai didi

javascript - Prototype Ajax Object 实际上没有在 IE 8 中发出请求

转载 作者:行者123 更新时间:2023-11-30 18:48:25 24 4
gpt4 key购买 nike

我有一个包含以下 javascript 代码的 JSP 页面:

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") 解析为 anchor 标记。“/Locator”解析为 Java Servlet。我正在使用 IE 8。我正在使用原型(prototype) 1.6.1。

我第一次加载页面并单击“刷新数据”时,Servlet 被正确调用并且我得到了预期的响应。每次我单击“refreshdata” anchor 时,Javascript 似乎都会经历调用的步骤,甚至表明它得到了响应。但是,实际上从未调用过 servlet。实际上没有发送任何响应。

让它再次正常工作的唯一方法是关闭 IE 8 并重新启动它。

这在 Chrome 和 Firefox 上正常工作。有谁知道 IE 浏览器的什么奇怪之处导致它无法在 IE 中运行?

最佳答案

IE 可能正在缓存 Ajax GET 请求的结果。

如果你想始终从服务器获取最新数据,你应该要么

  • 使用 POST
  • 添加一些随机值作为请求参数

一些相关链接:

关于javascript - Prototype Ajax Object 实际上没有在 IE 8 中发出请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4717626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com