IE8 中 AJAX 的意外缓存结果

2023-12-04

我在 Internet Explorer 缓存 JQuery Ajax 请求结果时遇到严重问题。

我的网页上有标题,每次用户导航到新页面时该标题都会更新。页面加载后我会这样做

$.get("/game/getpuzzleinfo", null, function(data, status) {
    var content = "<h1>Wikipedia Maze</h1>";
    content += "<p class='endtopic'>Looking for <span><a title='Opens the topic you are looking for in a separate tab or window' href='" + data.EndTopicUrl + "' target='_blank'>" + data.EndTopic + "<a/></span></p>";
    content += "<p class='step'>Step <span>" + data.StepCount + "</span></p>";
    content += "<p class='level'>Level <span>" + data.PuzzleLevel.toString() + "</span></p>";
    content += "<p class='startover'><a href='/game/start/" + data.PuzzleId.toString() + "'>Start Over</a></p>";

    $("#wikiheader").append(content);

}, "json");

它只是将标题信息注入到页面中。您可以通过以下方式查看:www.wikipediamaze.com然后登录并开始一个新的谜题。

在我测试过的每个浏览器(Google Chrome、Firefox、Safari、Internet Explorer)中,它都运行良好except在IE中。在 IE 中一切都可以正常注入第一次但在那之后它甚至不再打电话给/game/getpuzzleinfo。就好像它已经缓存了结果什么的。

如果我将呼叫更改为$.post("/game/getpuzzleinfo", ...IE 就可以很好地识别它。但随后 Firefox 就停止工作了。

有人可以解释一下为什么 IE 缓存我的$.get阿贾克斯调用?

UPDATE

根据下面的建议,我已将我的 ajax 请求更改为此,这解决了我的问题:

$.ajax({
    type: "GET",
    url: "/game/getpuzzleinfo",
    dataType: "json",
    cache: false,
    success: function(data) { ... }
});

IE 因其对 Ajax 响应的积极缓存而臭名昭著。当您使用 jQuery 时,您可以设置一个全局选项:

$.ajaxSetup({
    cache: false
});

这将导致 jQuery 在请求查询字符串中添加一个随机值,从而阻止 IE 缓存响应。

请注意,如果您确实需要缓存的地方正在进行其他 Ajax 调用,这也会禁用这些调用。在这种情况下,请切换到使用 $.ajax() 方法,并针对必要的请求显式启用该选项。

See http://docs.jquery.com/Ajax/jQuery.ajaxSetup了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IE8 中 AJAX 的意外缓存结果 的相关文章

  • 如何在Jquery数据表中选择一行

    我在用数据表 http datatables net 在我的应用程序中 每当用户单击任何行时 我想突出显示它并从所选行中选择一些值 oTableTools sRowSelect single fnRowSelected function n
  • 如何使用 jQuery 选择焦点元素

    如何选择具有当前焦点的元素 没有 focusjQuery 中的过滤器 这就是为什么我们可以使用这样的东西 input focus someFunction document activeElement 将返回当前聚焦的元素 并且比使用伪选择
  • .NET Core 应用程序在 Web 服务器上本地运行,但无法通过远程浏览器访问

    我有一个 ASP NET Core 1 1 Web 应用程序 已将其发布到远程服务器 我已经在 IIS 中设置了网站 如下所示这些说明 https learn microsoft com en us aspnet core publishi
  • 文本区域值高度[重复]

    这个问题在这里已经有答案了 我有一个 textarea 其 css 高度设置为 85px 用户可能会在该文本区域内键入内容行 我想知道文本 值的高度 而不是文本区域本身 有没有办法检查内部文本的高度 包括换行符 我会将文本区域的内容复制到另
  • 在javascript中执行函数队列

    我正在尝试创建一个包含多个函数的函数队列 创建后我想依次执行每个函数 但是这些函数内部有延迟指令 所以我想等待每个函数完成执行后再继续 我的尝试 var funqueue funqueue push function fun1 funque
  • 如何验证电子邮件地址与网站域名是否匹配?

    我的表单上有 2 个输入字段 电子邮件和网站 如何使用 JQuery 验证电子邮件地址域必须与网站域匹配 例如 如果网站是http example com http example com或带 www 或不带 http 或不带http ww
  • 文本替换为jquery

    所以我使用 jquery 来搜索和替换 html 页面中的某些文本 这是 function offon sidebar li each function this html this html replace Off Premise Liq
  • 每 x 秒重复一次代码,但如果 [在此处插入检查] 则不重复

    这是后续这个问题 https stackoverflow com questions 13304471 javascript get code to run every minute 我在那里找到了如何使代码每 x 秒重复一次 是否有可能举
  • 使用 Rails3-autocomplete gem 时出现“自动完成方法不存在”错误

    在我的rails应用程序中 我尝试使用rails3 jquery autocomplete gem 我在 Gemfile 中包含了以下行 gem Rails3 jquery autocomplete 并提供捆绑安装及其在 gems 中列出
  • 如何使用 jQuery 将各种元素包装在 div 标签中?

    我有一个 html 结构 如下所示 h5 Title h5 p Content p ul li Item li li Item li ul p Content p h5 Title h5 p Content p ul li Item li
  • 如何使单词中的每个字母在悬停时发生变化

    假设我的网站上某个段落中有一个单词 IamGreat 我希望它在悬停时更改为 Good4you 但是 我不想更改整个单词 而是希望每个字母单独更改 因此 如果我将鼠标悬停在字母 I 上 它将变成字母 G 字母 r 将变成数字 4 等 这两个
  • 如何使用 jQuery 通过单击按钮来选择下拉列表中的所有值?

    如何通过在 JavaScript 中使用 jQuery 单击按钮来选择下拉列表中的所有值 function select children option attr selected selected 应该做 当然你需要一个SELECT具有属
  • 什么是 jQuery valHook?

    阅读完有关valHooks in a jQuery 缺陷 http bugs jquery com ticket 9319最近在一个fiddle http jsfiddle net bV5fu 1 我搜索了 jQuery 文档和 Googl
  • ASP.NET:获取自 1970 年 1 月 1 日以来的毫秒数

    我有一个 ASP NET VB NET 日期 我试图获取自 1970 年 1 月 1 日以来的毫秒数 我尝试在 MSDN 中寻找方法 但找不到任何东西 有谁知道如何做到这一点 从 NET 4 6 开始 该方法ToUnixTimeMillis
  • 如何防止 ASP.NET 站点的图像盗链?

    防止人们从我的托管 ASP NET 网站热链接到图像的最佳 最简单方法是什么 我不需要防止所有图像 资源被热链接 我只是想防止热链接到网站上的特定图像 资源 供参考 它托管在 GoDaddy com 上 因此 IIS 技巧可能不起作用 最简
  • 加密和解密图像.net

    谁能给我一个使用 net 和 asp net 加密和解密图像的示例 当我将图像作为二进制数据保存到 SQL Server 中时 我希望对图像进行加密 包含这些名称空间 using System IO using System Securit
  • 无需安装即可部署 Expression Encoder SDK

    我试图在使用 Microsoft Expression Encoder 3 SDK 时证明一个概念 我正在尝试将 SDK 部署到我的托管 Web 服务器 以了解更多关于它是否有效以及还需要安装什么的信息 我无法在服务器上进行任何操作 以下是
  • iOS 11 getUserMedia 不起作用?

    苹果公司发表声明称getUserMedia将在 iOS 11 上完全正常运行 安装 iOS 11 Beta 版本 5 后 我确实收到一条消息 表明我的网站请求访问我的相机和麦克风 但似乎是这样的 video src window URL c
  • 在窗口调整大小和窗口加载时动态调整 pixi 舞台及其内容的大小

    我正在尝试在窗口调整大小时动态调整 pixi 舞台 画布和内容 的大小 并且最初以浏览器窗口的大小加载 而不改变比例 我使用以下内容将初始大小基本上设置为window innerWidth window innerHeight 但它做了一些
  • 如果方法参数是 string 或 int,ASP.NET WebAPI 会抛出 404

    我对 ASP NET MVC4 WebAPI 做了一个非常简单的测试 发现了一些有趣的问题 当一个方法采用复杂类型时 它会起作用 但是当它采用 string 或 int 时 它将抛出 404 如给出的屏幕截图所示 AddProduct 可以

随机推荐

  • Krajee 文件输入在表单提交上提交文件

    我正在使用这个插件来引导上传存储在带有提交按钮的表单中的文件 http plugins krajee com file input 我的问题是 a 是否有一种方法或方法可以检查 dropZone 中是否有尚未上传的文件 并在用户提交表单后通
  • 管理/员工面板的简单实现?

    新项目需要一个供管理员和工作人员使用的简单面板 页面 最好不要使用 SSL 或任何数字认证的东西 通过 http 简单登录就可以了 具有基本身份验证 仅允许管理员以管理员身份登录 以及 员工 组中的任何工作人员 理想情况下 凭据 用户名 哈
  • 为什么 scipy csr 矩阵的行索引比 numpy 数组慢

    我不确定我做错了什么 但似乎行索引 scipycsr matrix与 numpy 数组相比 速度大约慢 2 倍 参见下面的代码 csr 矩阵的行索引不应该比密集矩阵更快吗 因为只提取很少的非零元素 如下例所示 是否有技巧可以使 scipy
  • 将 create_function() 替换为 PHP8 的其他内容[重复]

    这个问题在这里已经有答案了 所以我有一个以前工作正常的插件 但几天来它给我抛出一个错误 PHP 致命错误 未捕获错误 调用未定义的函数 create function 经过一番搜索 我发现这是因为create function 在 PHP
  • .NET 组合框的项目上是否可以有上下文菜单?

    在我的应用程序中 我有包含多个项目的下拉列表 我想当用户在下拉项上单击鼠标右键时显示 上下文菜单 这可能吗 如果可能的话 如何实现 这是可能的 但并不容易 组合框下拉列表是即时创建的本机列表框 要获取该列表框的句柄 您必须在 DropDow
  • 彩色 grep — 查看整个文件并突出显示匹配项

    I find grep s color always标志非常有用 但是 grep 仅打印匹配的行 除非您要求上下文行 鉴于它打印的每一行都有一个匹配项 突出显示并没有增加尽可能多的功能 我真的很想cat文件并查看整个文件 其中模式匹配突出显
  • 如何在批处理文件中使用 if - else 结构?

    我有一个关于批处理文件中的 if else 结构的问题 每个命令单独运行 但我无法安全地使用 if else 块 因此我的程序的这些部分不起作用 我怎样才能使这些部件运行 谢谢 IF F 1 IF C 1 copying the file
  • 如何在node js中使用scp2将文件复制到远程服务器?

    我想使用 Node js 将文件从本地服务器复制到远程服务器scp2包裹 首先 使用文件上传到本地服务器multer之后将该文件复制或移动到远程服务器 My Code exports newFileUpload function req r
  • 我怎样才能告诉程序停止使用 freopen

    我是 C 初学者 我有一个问题超出了我的极限 我在 GNU GCC 下编译 我用 include
  • 重置部分应用程序设置

    所以 我有一个名为 Preferences 的表格TabControl在里面 这TabControl包含几个TabPages 常规 高级 杂项 带有少量组合框 复选框和标签 TabPage 内的每个控件都被分配应用程序设置属性绑定 又名它们
  • setTimeout 如何防止潜在的堆栈溢出

    一个例子 var list readHugeList var nextListItem function var item list pop if item setTimeout nextListItem 0 this line 如何使用s
  • 将 SHA1 转换为正常形式

    我有一个数据库 其中每个密码都是通过 SHA1 传递的 有时 我想去用户仪表板看看感觉如何 有没有办法 我可以将 SHA1 转换为正常形式以用于测试目的 谢谢 如果 正常形式 的意思是 我可以检索创建给定哈希的字符串 那么答案是否定的 它应
  • mkdir() 未将 chmod 设置为 0777

    为什么 mkdir 不将 CHMOD 设置为0777 mkdir var www test 0777 创建目录后 CHMOD 设置为0755 来自 php net bool mkdir string pathname int mode 07
  • 为什么根据我的 numpy 数组的类型是 int64 还是 uint8,按元素加法/减法的输出会有所不同?

    我正在进行图像比较并计算差异 并且注意到 仅当我使用 dtype int64 而不是 dtype uint8 作为 numpy 数组读取数据时 逐元素减法似乎才起作用 出于图像可视化的原因 我想切换到 unit8 image1 np arr
  • 将输出写入 Azure Functions 中的 Blob

    我正在学习使用 Azure 函数 所以 我可能听起来很愚蠢 我正在编写一个计时器触发函数 该函数每 1 分钟运行一次 添加两个数字并写入文件 这工作正常 因为我可以将输出写入本地服务器上的文件 第二步 我想将输出写入 blob 下面是代码
  • 如何使用 Swift Playground 打印到控制台?

    我一直在关注他们的新语言 swift 的 Apple Guide 但我不明白为什么右侧的栏只显示 Hello playground 而不是 Hello world 有人可以解释为什么println不是打印在右边吗 Playground no
  • 在sqlite中获取日期差异

    我想获得今天和到期日之间的日期差异 这是我实现的代码 但这并没有返回正确的输出 public String getDaysList Cursor cursor db query COUPON null null null null null
  • 理解 python id() 的唯一性

    Python 文档id 功能陈述如下 这是一个保证唯一且恒定的整数 该对象在其生命周期内 两个不重叠的对象 一生可能有相同的id value CPython实现细节 这是内存中对象的地址 虽然 下面的代码片段表明id的重复 由于我没有明确d
  • iPhone 的 CSS 媒体查询

    我有一个网站 该网站将使用媒体查询在桌面和 iPhone 上显示以提供不同的样式表 因此例如始终加载reset css 但如果在桌面上也加载desktop css 但如果在iPhone上 或者如果用户调整浏览器窗口的大小 改为加载 ipho
  • IE8 中 AJAX 的意外缓存结果

    我在 Internet Explorer 缓存 JQuery Ajax 请求结果时遇到严重问题 我的网页上有标题 每次用户导航到新页面时该标题都会更新 页面加载后我会这样做 get game getpuzzleinfo null funct