解决在 Express.js 应用程序中遇到的 CORS 错误

什么是 CORS 错误?

CORS(跨源资源共享)是一种浏览器安全策略,用于限制 web 应用程序在一个域名下的 JavaScript 脚本如何与其他域名下的资源进行交互。如果你的 Express.js 应用程序试图与另一个域名下的资源进行交互,而该资源不允许来自你的应用程序的请求,浏览器将会阻止这些请求并抛出 CORS 错误。

CORS 错误通常会在控制台中显示以下消息:

------ -- -------------- -- ------------------------- ---- ------ ----------------------- --- ---- ------- -- ---- ------- -- ----------------------------- ------ -- ------- -- --- --------- ---------

如何解决 CORS 错误?

要解决 CORS 错误,你需要在 Express.js 应用程序中启用 CORS。Express.js 提供了 cors 中间件来处理跨域请求。以下是如何使用 cors 中间件的示例代码:

----- ------- - -------------------
----- ---- - ----------------
----- --- - ----------

-- -- ---- ---
----------------

-- -- --- --
--------------- ----- ---- -- -
  ---------------- ---------
---

---------------- -- -- ------------------- ------- -- -------------------------

在上面的示例中,我们首先导入 cors 中间件并将其传递给 app.use() 方法。这将启用 CORS 中间件并允许跨域请求。然后,我们定义一个简单的路由来处理 GET 请求,并在响应中发送一条消息。

现在,你可以从另一个域名下的 JavaScript 脚本发出 GET 请求,如下所示:

----------------------------------
  -------------- -- ----------------
  ---------- -- ------------------
  ------------ -- --------------------

在上面的示例中,我们使用 JavaScript 的 fetch API 发出 GET 请求并在控制台中打印响应数据。由于我们已经启用了 CORS 中间件,因此浏览器将不会阻止这个请求并返回 CORS 错误。

总结

CORS 错误是一种常见的浏览器安全策略,用于限制 web 应用程序在一个域名下的 JavaScript 脚本如何与其他域名下的资源进行交互。在 Express.js 应用程序中启用 CORS 中间件可以解决这些错误。在本文中,我们学习了如何使用 Express.js 的 cors 中间件来处理跨域请求,并提供了示例代码来演示如何在 Express.js 应用程序中解决 CORS 错误。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65cb87eaadd4f0e0ff52f3c6