myApp:
ribbon:
OkToRetryOnAllOperations: true
retryableStatusCodes: 404, 503
作为一个非常粗略的经验法则:
4xx-客户机做了坏事
5xx-服务器做了坏事
但这在很大程度上取决于实际的API。
是否应该重试500?也许,因为服务器在连接到DB时发生了意外的打嗝。或者,也许你给它发送了一些它不期望的东西,而不是返回给你4xx它崩溃了。
通常没有太多的理由重试404,除非您预期该资源会出现。
此外,小于-1的状态代码被归一化为零。-1通常表示请求被中止,例如使用config.timeout 这同样也适用于新版本的Angular吗?我使用的是Angular 4.0.1。
问题内容: 我已经看到您可以指定如果ajax请求失败通常要做什么,是否可以让它在某种循环中重试,以便它在停止之前尝试至少x次?我以前使用过此代码: 这将适用于所有AJAX请求(如果我输入错了,请纠正我)。 我想做这样的事情: 这行得通吗?甚至更好:这是正确的方法吗?我会将重试包装在计数系统中,以便不会无限重试。在我的应用程序中,十分之九会正常工作,但是我经常与之交互的API之一有时会返回错误。 任
我已经写了一段时间的iPhone应用程序,发送数据到服务器,接收数据(通过HTTP协议),没有想太多。理论上,我主要熟悉进程,但我不太熟悉的部分是HTTP多部分请求。我知道它的基本结构,但它的核心我不知道。 似乎每当我发送不同于纯文本的东西(如照片,音乐),我必须使用多部分请求。有人能简单地向我解释一下为什么要用它,它的优点是什么吗? 如果我使用它,为什么这样发送照片更好?
问题内容: 当JavaScript网络调用(例如fetch或XMLHttpRequest或任何其他类型的HTTP网络请求)失败且HTTP状态代码为0时,这是什么意思? 这似乎不是有效的HTTP状态代码,因为其他代码是HTTP规范中的三位数字。 我尝试将网络完全拔掉作为测试。它可能不相关,但是导致状态代码17003(IIRC),粗略搜索表明这意味着“ DNS服务器查找失败”。 相同的代码在某些位置和