AJAX 请求不适用于本地主机 CORS 策略

AJAX request not working on localhost CORS policy

我正在创建一个涉及 API 的 angular 应用程序。我在本地主机上创建了一个 API 并尝试使用 AJAX 对其进行请求。但它向我显示了 CORS 错误。我尝试了一切来解决这个问题,但即使是从 Whosebug 也没有任何效果。它向我显示错误

Access to XMLHttpRequest at 'localhost/graphql' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

我该怎么做?

您必须使用相同的来源。该站点位于 http://localhost:4200,但您正在尝试访问 http://localhost

添加端口,使它们都匹配,例如将您的请求发送至 http://localhost:4200/graphql

或者,在您的服务器上添加一些 CORS headers。

Access-Control-Allow-Origin: http://localhost:4200

您可以使用 cors 中间件在 Express 中执行此操作 如果您在快速服务器上,只需添加以下行:

const cors = require("cors")  // npm i cors
app.use(cors())

阅读有关 CORS 的更多信息on MDN