为啥浏览器对 OPTION 请求得到 200 响应和 503 响应?
Posted
技术标签:
【中文标题】为啥浏览器对 OPTION 请求得到 200 响应和 503 响应?【英文标题】:Why does the browser get a 200 response to an OPTION request and a 503 response?为什么浏览器对 OPTION 请求得到 200 响应和 503 响应? 【发布时间】:2020-02-24 04:21:24 【问题描述】:现在我阻止了这个问题 1 周。我已经尝试寻找类似的案例,但他们没有回答我的问题。
问题是:我在 Heroku 上有一个用 Express js 开发的 API,在另一台服务器上有一个角度接口。 例如,要添加一篇文章,API 运行良好,并通过 CORS 响应返回答案。 更新时出现问题。每当我发出 PUT 请求时,如果我有权执行此操作,浏览器就会检查我的 API(选项)的答案,实际上我得到一个代码 200,因为我有权继续但在此检查之后我得到一个 503 错误而没有以前的标题。
我提前感谢那些愿意帮助我了解正在发生的事情的人。谢谢
https://res.cloudinary.com/dkthctbvw/image/upload/v1572298933/crs_mo3iaa.jpg
axios.put(`$this.host_url/api/posts/$newProduct._id/update`, newProduct)
.then(res =>
this.loading = false
this.lds.remove()
this.router.navigate(['/articles'])
)
.catch(err => console.log(err));
https://res.cloudinary.com/dkthctbvw/image/upload/v1572298573/200_afsepz.jpg
https://res.cloudinary.com/dkthctbvw/image/upload/v1572298573/503_pivluy.jpg
【问题讨论】:
【参考方案1】:错误代码 503 与 CORS 问题无关。它只是告诉您该服务不可用。
超文本传输协议 (HTTP) 503 服务不可用服务器 错误响应代码表示服务器尚未准备好处理 请求。
您需要检查您的服务器配置并查看您的 API。 或许this可以帮到你。
【讨论】:
感谢您的回答,但它并没有解决我的问题。问题是我在哪里发送“PUT”请求,并且只在这个级别。 那你需要调试Backend来检查为什么它对PUT方法不可用以上是关于为啥浏览器对 OPTION 请求得到 200 响应和 503 响应?的主要内容,如果未能解决你的问题,请参考以下文章