One*_* T. -1 javascript error-handling node.js cors express
我在后端有一个 React 应用程序和 Nodejs(Express)。部署到主机服务器后,我为更新某些文档所做的功能停止正常工作。它给出了 CORS 错误:
我有这行代码来处理 server.js 中的 CORS 策略:
app.use((req, res, next) => {
res.set({"Access-Control-Allow-Origin" : "*",
"Access-Control-Allow-Methods" : "HEAD, OPTIONS, GET, POST, PUT, PATCH, DELETE",
"Access-Control-Allow-Headers" : "Content-Type, Authorization, X-Requested-With"})
next();
});
Run Code Online (Sandbox Code Playgroud)
GET 和 POST 方法可以,但对 PUT 不起作用(不知道 Delete 是否有效没试过)
我在这个问题上有很多时间;试过这个:https : //stackoverflow.com/a/42463858/11896129
在网上寻找了一堆解决方案,尝试从 IIS web.config 文件配置它,但没有解决我的问题。我可能会错过哪个部分?
此外,对于可能对服务器数据产生副作用的 HTTP 请求方法(特别是对于GET 以外的HTTP 方法,或者对于某些 MIME 类型的 POST 使用),规范要求浏览器“预检”请求,请求支持的方法从服务器使用 HTTP OPTIONS 请求方法,然后在服务器“批准”后,使用实际的 HTTP 请求方法发送实际请求。
所以你必须回答预检请求:
app.options("*", (req, res) => {
res.status(200).send("Preflight request allowed");
});
Run Code Online (Sandbox Code Playgroud)
在此处阅读有关预检请求的更多信息。
| 归档时间: |
|
| 查看次数: |
1586 次 |
| 最近记录: |