Express.js 中使用 CORS 解决跨域问题

什么是跨域问题?

跨域问题是指在 Web 开发中,当一个页面向不同的域名请求资源时,浏览器会出现安全限制,导致请求失败,这就是跨域问题。例如,前端项目部署在 http://localhost:3000,而后端 API 服务部署在 http://localhost:8080,前端请求后端的数据就会出现跨域问题。

CORS 是什么?

CORS(Cross-Origin Resource Sharing)是一种机制,它允许网页向其他域名的服务器请求资源。CORS 的本质是通过设置 HTTP 头部来告诉浏览器,让其允许访问指定的跨域资源。

Express.js 中的 CORS

在 Express.js 中,我们可以使用 cors 中间件来解决跨域问题。cors 中间件可以设置允许跨域请求的参数,例如允许的域名、请求方法、请求头等。

安装 cors

在使用 cors 中间件前,需要先安装它。可以通过 npm 安装:

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

使用 cors

在 Express.js 中使用 cors 中间件很简单,只需要在需要解决跨域问题的路由中使用它即可。以下是一个示例:

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

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

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

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

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

在以上示例中,我们分别设置了允许所有来源的跨域请求、允许指定来源的跨域请求、允许指定来源、请求头、请求方法的跨域请求。

总结

CORS 是解决跨域问题的一种机制,可以通过设置 HTTP 头部来告诉浏览器,让其允许访问指定的跨域资源。在 Express.js 中,我们可以使用 cors 中间件来解决跨域问题。在使用 cors 中间件时,我们可以根据需求设置允许跨域请求的参数,例如允许的域名、请求方法、请求头等。

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