请求的资源上没有 'Access-Control-Allow-Origin' header | CORS 错误
No 'Access-Control-Allow-Origin' header is present on the requested resource | CORS Error
我有一个在本地主机上运行良好的 Node js、React 应用程序。我最近使用 cPanel 将代码带到了生产环境,现在,我收到了 CORS 错误。这些 cors 错误仅出现在不是 GET 请求的请求中。
在其他请求中,其预检请求通过 2** 响应,但 xhr 请求一直失败。
下面列出了我做过的事情
使用如下cors包
const login_router = require("./routes/loginRouter");
const app = express();
const cors = require("cors");
// I have made the request with and without app.options
app.options("*", cors())
// allowedDomains = [Array of allowed sites]
// My website is listed in the array as "https://..."
app.use(cors({ origin: allowedDomains, credentials: true }));
app.use("/api/user/login", login_router);
我最终从来源 ____ 访问 XMLHttpRequest ____ 已被 CORS 策略阻止:请求的资源上不存在 'Access-Control-Allow-Origin' header
- 在 Nodejs .htaccess 文件中添加了一个 CORS 片段(如果它与 apache 有任何关系)
Header set Access-Control-Allow-Origin "https://..."
Header set Access-Control-Allow-Methods "GET,PUT,POST,DELETE"
Header set Access-Control-Allow-Headers "Content-Type, Authorization"
它在 ____ 从源 ____ 提供对 XMLHttpRequest 的访问权限已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:'Access-Control-Allow-Origin' header 包含多个值 '*, https://...',但只允许一个值。
- 我也尝试手动设置响应 headers,但我仍然遇到了与第一次试验相同的一组错误。
任何帮助将不胜感激,谢谢!
看来,我的配置没问题。
我的托管服务提供商有一些通用规则可以取消设置响应 header 的 Access-Control-Allow-Origin。我所要做的就是关闭该规则,它起作用了。
我有一个在本地主机上运行良好的 Node js、React 应用程序。我最近使用 cPanel 将代码带到了生产环境,现在,我收到了 CORS 错误。这些 cors 错误仅出现在不是 GET 请求的请求中。 在其他请求中,其预检请求通过 2** 响应,但 xhr 请求一直失败。
下面列出了我做过的事情
使用如下cors包
const login_router = require("./routes/loginRouter"); const app = express(); const cors = require("cors"); // I have made the request with and without app.options app.options("*", cors()) // allowedDomains = [Array of allowed sites] // My website is listed in the array as "https://..." app.use(cors({ origin: allowedDomains, credentials: true })); app.use("/api/user/login", login_router);
我最终从来源 ____ 访问 XMLHttpRequest ____ 已被 CORS 策略阻止:请求的资源上不存在 'Access-Control-Allow-Origin' header
- 在 Nodejs .htaccess 文件中添加了一个 CORS 片段(如果它与 apache 有任何关系)
Header set Access-Control-Allow-Origin "https://..." Header set Access-Control-Allow-Methods "GET,PUT,POST,DELETE" Header set Access-Control-Allow-Headers "Content-Type, Authorization"
它在 ____ 从源 ____ 提供对 XMLHttpRequest 的访问权限已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:'Access-Control-Allow-Origin' header 包含多个值 '*, https://...',但只允许一个值。
- 我也尝试手动设置响应 headers,但我仍然遇到了与第一次试验相同的一组错误。
任何帮助将不胜感激,谢谢!
看来,我的配置没问题。 我的托管服务提供商有一些通用规则可以取消设置响应 header 的 Access-Control-Allow-Origin。我所要做的就是关闭该规则,它起作用了。