我使用RxJS 6和它的ajax模块来获取数据。从我的API中获取502后,我希望下面粘贴的响应对象的状态为502。但是,状态为0。
从各种问题中,我了解到status 0是从RxJS.ajax生成的所有response对象的默认状态,在收到response后,status值被覆盖为服务器提供的值。
在这里,服务器显然提供了状态代码502,但是response对象中的状态仍然是0。

你遇到过这种行为吗?是否有修复/解决方法?或者是库中的合法bug,我应该把它发布到他们的问题跟踪器上?
发布于 2019-07-19 23:20:56
我想通了。
当API落在5xx时,我们的服务器无法在OPTIONS响应中向浏览器返回适当的CORS头。
这将阻止Javascript成功覆盖响应对象,并捕获状态为0的错误。
它应该在服务器端处理,或者客户端可以推断状态0应该作为状态5xx处理。(然而,这有点老生常谈,因为status 0通常指的是网络中断之类的东西)。
https://stackoverflow.com/questions/57095956
复制相似问题