我正在使用RxJS 6
,它是ajax
模块来获取数据。从我的API获取502
后,我期望下面粘贴的响应对象的状态为502
。但是状态为0
。
从各种问题来看,我知道状态0
是从RxJS.ajax
生成的所有响应对象的默认状态,并且在收到响应后,状态值将覆盖服务器提供的状态。
在这里,显然服务器提供了状态代码502
,但是响应对象中的状态仍然是0
。
您遇到过这种行为吗?有修复/解决方法吗? 还是库中的合法错误,我应该将其发布到他们的问题跟踪器中?
答案 0 :(得分:1)
想通了。
当API落在5xx上时,我们的服务器无法在tx1
tx2
tx6
tx5
tx7
tx3
tx4
响应中向浏览器提供适当的CORS标头。
这可防止Javascript成功覆盖响应对象,并捕获到状态为OPTIONS
的错误。
应在服务器端进行处理,否则客户端可以推断出状态0
应该作为状态0
处理。 (不过,这有点骇人听闻,因为状态5xx
通常是指网络中断之类的东西。)