【发布时间】:2021-03-10 12:02:57
【问题描述】:
我正在尝试从使用 Axios 对 Google Endpoints 的失败调用中获取响应标头详细信息。由于超出速率限制(状态代码 429),Google Endpoints 出现异常,我正在尝试从客户端访问该状态代码。
当我打开 devtools 时,我可以看到状态标头存在,但经过多次尝试后,我无法使用 javascript(使用 Axios)访问此标头。如果我记录错误,则根本没有响应标头。
我的问题与此类似:Axios get access to response header fields 但看起来他们的调用成功了,因为他们将响应记录在“then”块中。但是由于 CORS 导致我的失败,并且在 Axios 中捕获的错误中根本没有“response.headers”对象。
当我在控制台中解析和记录 Axios 错误响应时,我只看到请求的配置,根本找不到响应标头:
我还向 Google Endpoints 添加了“Access-Control-Expose-Headers:status, server”,以根据上述帖子的接受答案公开“status”和“server”标头,但没有任何改变。
编辑:我还尝试使用 Axios 拦截器从服务器获取原始响应,它是未定义的。 Google Endpoints 完全没有响应。我很困惑为什么我可以在开发工具中看到状态,但无法在客户端应用程序中访问它。
【问题讨论】:
标签: javascript rest axios cors