如果 chrome 开发工具打开,AJAX 可以工作,但如果 chrome web 工具关闭,AJAX 就不行?

2023-11-26

我正在通过 ajax 加载 json 文件。如果 Chrome 开发工具打开,一切都会完美运行。如果 Chrome 开发工具关闭,则会失败。值得庆幸的是,即使关闭时,开发工具仍然会继续做它的事情,所以我仍然可以看到我得到的异常:

Failed to load resource: the server responded with a status of 412 (Precondition Failed) http://localhost/experiments/escape/maps/test.json

为什么会有开发工具是否开放的前提条件?另外,打开和关闭开发工具似乎不太可能以任何方式影响服务器的行为,因此我认为是 Chrome 阻止了请求,而不是异常中建议的服务器。

不幸的是,开发工具在关闭时不会跟踪网络活动,因此我无法使用网络选项卡来获取任何进一步的信息。

AJAX 通过 JQuery 处理,代码如下:

map.load = function(mapName, tileSource, tileWidth, tileHeight, onLoad) {
    $.ajax({
        url: '../escape/maps/'+mapName+'.json',
        type: 'post',
        success: function(mapData) {
            // there's loads of stuff in here but I don't think it's relevant to the question as the failure prevents the success method from being called.
        }
    });
};

此代码在 Firefox 中不会引起任何问题,因此似乎专门与 Chrome 开发工具相关。欢迎任何建议,因为我完全困惑了!

编辑:好的,所以这根本不是开发工具的错误 - 我已经禁用了开发工具中的缓存,重新启用它可以使脚本正常工作。为什么我的代码依赖于缓存?在 Firefox 中禁用/启用缓存不会导致任何问题

EDIT2:好的,我想我已经接近了。失败的前提条件是 if-modified-since 条件(文件未更改)。我假设 chrome 发送此消息是为了确认是否使用缓存版本,但是,尽管前提条件失败,但它不会加载缓存版本。我认为这可能意味着缓存以某种方式损坏,所以我清除了缓存。不幸的是,这并不能解决问题。该文件会很高兴地加载一次,但下次我又回到开始时遇到同样的问题。有任何想法吗?


@Rondel - 你已经做到了!问题是我愚蠢地使用“post”来获取静态文件。 Post 请求不应该被缓存,这就是 Chrome 不检索它的原因。我仍然不知道为什么 chrome 仍然发送 if-modified-since 标头,但无论如何,更改请求类型以获取是问题的解决方案(抱歉 Crome 开发工具不公平地责怪你 - 这个问题,像往常一样,是我的代码!)

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

如果 chrome 开发工具打开,AJAX 可以工作,但如果 chrome web 工具关闭,AJAX 就不行? 的相关文章

  • 如何在codeigniter中将上传图片比例限制为16:9?

    这是我用来上传图像的代码 this gt load gt library upload ext pathinfo file name PATHINFO EXTENSION img name now ext imgConfig upload
  • 如何针对 Node.js 中发生的每个错误发送电子邮件?

    假设我的 node js 应用程序正在运行 如果出现错误 我的意思是所有错误 不仅仅是网络错误 如果出现错误 则很重要 我如何调用函数向我发送电子邮件 基本上 在我希望它写入 err out 之前 我希望向我发送一封电子邮件 我正在使用no
  • 可以在初始 DOM 解析期间/之前修改 DOM 吗?

    是否可以在初始 DOM 解析期间或之前修改 DOM 或者我是否必须等到 DOM 被解析和构建之后才能与其交互 更具体地说 是否有可能阻止 DOM 中的脚本元素使用用户脚本 内容脚本或 Chrome 或 Firefox 中的类似脚本运行 在解
  • Draggable JS Bootstrap 模式 - 性能问题

    对于工作中的项目 我们在 JavaScript 中使用 Bootstrap Modal 窗口 我们想让一些窗口可移动 但我们遇到了 JQuery 的性能问题 myModal draggable handle modal header Exa
  • Bootstrap按钮加载+Ajax

    我正在使用 Twitter Bootstrap 的按钮加载状态 http twitter github com bootstrap javascript html buttons http twitter github com bootst
  • 将 GMT 时间转换为当地时间

    我以这种格式从我的服务器获取 GMT 时间 Fri 18 Oct 2013 11 38 23 GMT 我的要求是使用Javascript将此时间转换为本地时间 例如 如果用户来自印度 首先我需要采用时区 5 30并将其添加到我的服务器时间并
  • jQuery:处理 getJSON() 中的错误?

    使用 jQuery 时如何处理 500 错误getJSON http api jquery com jQuery getJSON 有几个关于错误处理的问题getJSON and https stackoverflow com questio
  • 使用 Jquery 清除 5 个空 TD

    我有一个正在填充的动态表 我知道我不应该这样做 但是你会如何连续找到 5 个空 TD 并隐藏它们呢 因此 如果行包含 5 个空 TD 则不显示 TD 我想删除每个实例 td td td td td td td td td td 在 DOM
  • Javascript split 不是一个函数

    嘿朋友们 我正在使用 javascript sdk 通过 jQuery facebook 多朋友选择器在用户朋友墙上发布信息 但是我收到此错误friendId split 不是函数 这是我的代码 function recommendToFr
  • 检查 jQuery 1.7 中是否存在基于文本的选择选项

    所以我有以下 HTML 片段
  • 正则表达式 - 从 markdown 字符串中提取所有标题

    我在用灰质 https www npmjs com package gray matter 以便将文件系统中的 MD 文件解析为字符串 解析器产生的结果是这样的字符串 n Clean er ReactJS Code Conditional
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • 日期出现奇怪的错误,“未捕获非法访问”

    所以我试图找到最新的DateJavascript 可以处理 我把它减少到 9 月 275760 并增加了我开始捕获未捕获的天数illegal access例外new Date 09 24 275760 to new Date 10 13 2
  • 如何在生产模式下为 Chrome 扩展启用 Vue 开发工具?

    我正在构建一个 chrome 扩展 并使用 vue cli webpack 配置 我希望能够在运行后使用 vue devtoolsnpm 运行构建命令 我尝试添加Vue config devtools true 在 main js 中 或者
  • 在 Javascript 中连接空数组

    我正在浏览一些代码 我想知道这有什么用处 grid push concat row 根据我的理解 它等同于 grid push row 为什么要大惊小怪 连接 你想使用 concat当您需要展平数组并且没有由其他数组组成的数组时 例如 va
  • 用于交互式图形绘制的轻量级 JavaScript 库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有兴趣了解用于绘制交互式图表的最轻量级 javascript 库 我掌握的数据主要是与海洋研究相关的科学数据 我知道一些 jquery
  • Javascript Replace() 和 $1 问题

    我正在尝试创建一个脚本来搜索文本中的模式并在它找到的字符串周围包裹一个标签 shop attributes td each function this html function i html return html replace E 0
  • 从 FileReader 设置背景图像样式

    我正在寻找一种解决方案 允许我从文件上传输入中获取文件并通过设置 document body style backgroundImage 来预览它 以下代码用于在 Image 元素中显示预览 function setImage id tar
  • 如何确定所有角度2分量都已渲染?

    当所有 Angular2 组件完成渲染时 是否会触发一个角度事件 For jQuery 我们可以用 function 然而 对于 Angular2 当domready事件被触发 html 只包含角度组件标签 每个组件完成渲染后 domrea
  • Vue.js[vuex] 如何从突变中调度?

    我有一个要应用于 json 对象的过滤器列表 我的突变看起来像这样 const mutations setStars state payload state stars payload this dispatch filter setRev

随机推荐

  • 在数据库中保存枚举的方法

    将枚举保存到数据库的最佳方法是什么 我知道Java提供了name and valueOf 将枚举值转换为字符串并返回的方法 但是还有其他 灵活的 选项来存储这些值吗 有没有一种聪明的方法可以将枚举变成唯一的数字 ordinal 使用不安全
  • RStudio 未找到 RTools

    我安装了 R RStudio 和 devtools 下面省略了一些输出 并进行了更新 我还安装了最新版本的 Rtools Check R version R Version platform 1 x86 64 w64 mingw32 OUT
  • 如果遇到非有限值(NA、NaN 或 Inf),如何强制出错

    Matlab 有一个我想念的条件调试标志 dbstop if infnan 此处描述 如果设置 此条件将在以下情况下停止代码执行 Inf or NaN遇到 IIRC Matlab没有NA 与在每次赋值操作后测试所有对象相比 如何在 R 中以
  • Mac OS 下有没有办法将数据发送到另一个进程的标准输入?

    我想知道是否有一个 API 无论它多么晦涩难懂 它都允许某人将数据发送到另一个进程的stdin在Mac OS X下流 在Linux下 如果我没记错的话 你可以使用文件系统 proc访问这些流 当然需要正确的权限 我不知道 马赫端口 有人吗
  • 获取代码片段中的命名空间

    微软链接here列出了我们可以使用的三种方法 但是我们如何获取当前的命名空间呢 我看到有一个类似的问题 但答案是使用宏 它不能解决这个特定问题 NameSpace 可以执行以下操作
  • 浏览器刷新时随机全屏背景图像

    我使用我在网上找到的这个脚本 每当刷新浏览器时就会有一个随机背景图像 CSS body background no repeat center center fixed webkit background size cover moz ba
  • 嵌套属性可以与继承结合使用吗?

    我有以下课程 Project Person Person gt 开发商 Person gt Manager In the Project模型我添加了以下语句 has and belongs to many people accepts ne
  • 在 Typescript 中,如何区分 Node 和普通 Javascript 错误类型?

    我有以下功能 Retrieves a component template from filesystem const getComponentTemplate async p string Promise
  • 在javascript中将对象移向一点[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我为此在数学上苦苦挣扎 我需要将一个物体均匀地移向一个点 我在 x 500 y 250 处有一个点 在 0 0 处有一个对象 如果移动速度为 1 我将如何计算出要获得该点 我需要以
  • 如何按 POJO 属性降序对列表进行排序?

    我有这样的 POJO 类学生 class Student private int score private String FirstName Getters and setters 我正在像这样创建 ArrayList public st
  • 在富文本框中创建换行符

    我需要帮助为 RichTextBox 创建新行 但在使用 CheckBox 时我无法使用它 它保持重叠而不是创建新的单词行 尝试使用的方法rtbdisplay text display envrionment newline 我的代码中的示
  • 如何在Java中显示树形层次结构?

    我的数据库中有一个名为 Process 的表 该进程表有3个字段 进程号 进程名 进程父进程id 现在我想以图形格式显示这个父子层次结构 那么您能否向我提出以下建议 Q1 为了从数据库获取数据并将数据存储在该数据结构中 哪种数据结构更好 Q
  • 如何在 IE 中使用 JQuery 隐藏和显示 SELECT 选项

    我试图从下拉列表中隐藏一些选项 jQuery 的 hide and show 在 Firefox 和 Chrome 中工作得很好 但在 IE 中就不那么幸运了 有什么好主意吗 根据浏览器检测隐藏和显示选项 在许多可能的方法中 此方法需要浏览
  • Mysql 表名不能大写

    我需要更改 mysql 接受大写和小写表名 select from users 上面的查询工作正常 但下面的查询不起作用 select from USERS 这取决于您的系统 主要值是 Unix Windows 和 Mac OS 您需要将系
  • firebase 消息服务可以 android:exported="false" 吗?

    想确认是否可以设置android exported false 例如 ID 服务和消息服务 我通过保持测试android exported false 和通知工作正常
  • param: _* 在 Scala 中意味着什么?

    作为 Scala 2 9 1 的新手 我有一个List Event 并想将其复制到Queue Event 但以下语法会产生Queue List Event 反而 val eventQueue Queue events 由于某种原因 以下工作
  • 了解 iBeacon 数据:功率字段和其他字节

    我是蓝牙系统的新手 我正在尝试了解新的苹果技术 iBeacon 使用的数据 已经有一些很好的答案解释了它是如何工作的 我一直在阅读我能找到的所有内容 特别是蓝牙规范 尽管如此 我仍然遗漏了一些要点 我将首先举一个例子 我正在使用设置广告数据
  • 如何在linux中使用cx_freeze创建要在windows中使用的包

    如何在 Linux 中使用 cx freeze 创建一个可在 Windows 中使用的包 如 exe 或 bin 文件 我在 Linux 中测试了 cx freeze 但在 Linux 和 Windows 中制作软件包是未知的 例如 cxf
  • 将 VB.NET Winforms 应用程序移植到 C#

    是否有任何 好的 资源可将 VB NET winforms 应用程序移植到 C 我确信有软件可以翻译代码 但我希望同时重构代码 保持当前的形式是有问题的 因为它使用了 VB NET 允许的一些 不良设计 实践 并且会使未来的维护进一步复杂化
  • 如果 chrome 开发工具打开,AJAX 可以工作,但如果 chrome web 工具关闭,AJAX 就不行?

    我正在通过 ajax 加载 json 文件 如果 Chrome 开发工具打开 一切都会完美运行 如果 Chrome 开发工具关闭 则会失败 值得庆幸的是 即使关闭时 开发工具仍然会继续做它的事情 所以我仍然可以看到我得到的异常 Failed