当前位置: 首页 > 面试题库 >

XMLHttpRequest的onerror处理程序何时应触发

谢高峯
2023-03-14
问题内容

我在理解XMLHttpRequest的处理程序时遇到了一些问题。规范说明了有关onerror处理程序的信息:

error [Dispatched …]请求失败时。

load [Dispatched …]请求成功完成时。

问题是,“请求失败”是什么意思。那可能是

  • 根本无法发出请求(例如,连接被拒绝以及此类错误),或者
  • 上面加上服务器返回的错误代码(例如404)

另外,我想知道这是否意味着onerror并且onload永远不应同时触发。

该参考指示onerror处理程序应取决于执行status代码,并onload根据readyState。这表明它们并不相互排斥,但是,我认为这不是权威信息。

我问是因为使用最新的Opera快照,我发现onload即使在404状态代码上也被触发。我知道测试status是肯定的选择,但是我想知道这是我必须按照规范执行的操作,还是只是Opera中错误的解决方法。


问题答案:

如评论中所述,onerror网络级别
出现故障时触发。如果错误仅在应用程序级别存在,例如,发送了HTTP错误代码,则onload仍然会触发。您需要在onreadystatechange处理程序中显式测试返回的状态代码。

请注意,被拒绝的跨域请求也会触发onerror处理程序。



 类似资料:
  • 关于,endpoint文档说明: 当web套接字会话创建了某种未在web套接字协议中建模的错误时,开发人员可能会实现此方法。例如,这可能是传入消息太大而无法处理的通知,或者传入消息无法被编码。 此方法(当前)定义要处理的异常有许多类别: 如果发生错误,方法是否应该关闭websocket(调用)? 到目前为止,我认为我的责任是干净利落地关闭会话,并将关闭的原因告知客户。这就是为什么如果返回true,

  • 因此,我们的想法是从2015年开始对现有的meteor应用程序进行归档。该应用程序分为两部分(后端和前端)。我已经制作了一个巨大的bash脚本来处理所有旧的依赖项。。。软件依赖项。。。等等。我只需要运行脚本,我们就可以让应用程序运行了。但现在的想法是为该项目创建一个docker形象。我应该如何做到这一点?我应该创建一个空的docker映像并在那里运行脚本吗?。谢谢我是docker的新手。

  • 我在本地玩axon服务器。我正在本地计算机上通过命令运行一个docker容器。 当我启动spring-boot应用程序时,聚合外部的事件处理程序会重新运行所有以前的事件,因此在启动时会看到日志语句流。 注释似乎并不能阻止这种情况。此外,我试图按照这里的说明使处理程序成为事件处理器,但要么我做得不对,要么也没有解决问题。

  • 我似乎找不到每一行的控件。这些行是用addrow()方法添加的,该方法非常有效,只需要一些化妆品。我的目标是在更改select选项时获取行中每个控件的值。但是,该函数从未启动,我无法获得该行的控制值。 超文本标记语言 JQuery

  • 问题内容: 与其他框架相比,Node.js + Express.js应用程序中的错误报告/处理似乎有所不同。我理解它的工作原理是否正确? A) 通过接收错误作为回调函数的参数来 检测 错误。例如: B) 通过调用next(err) 报告 MIDDLEWARE中的​​错误。例: C) 通过抛出错误来 报告 路由中的错误。例: d) 手柄 通过配置通过app.error自己的错误处理的错误()或使用通

  • 我想在前端构建一个干净的Spring Boot应用程序。我的要求是: 应用程序基于浏览器 这些都是非常基本的要求,但我对保护web应用程序的可能性一无所知。有没有标准的推荐方法?我真的试着从一开始就学习教程https://spring.io/guides/tutorials/spring-security-and-angular-js/但由于混合了几个可能的解决方案,而不是描述一个,所以它非常令人