作者:五月君 来源:Nodejs技术栈
文章插图
“前端如何解决跨域问题?” 这个是前段在知乎看到的一个提问,这几乎是做前端都会遇到的一个问题,产生的情况可能会很多,解决一个问题还是要先了解下为什么会产生这样问题,学习最好的方法就是结合一些实际的案例来学习,理解和掌握也会更加的深刻,本文结合 Node.js 写一些 Demo 看一下跨域问题及解决办法,最好是自己看完也能够动手操作下~
Cross-origin Resource Sharing 中文名称 “跨域资源共享” 简称 “CORS”,它突破了一个请求在浏览器发出只能在同源的情况下向服务器获取数据的限制 。
本文会先从一个示例开始,分析是浏览器还是服务器的限制,之后讲解什么时候会产生预检请求,在整个过程中,也会讲解一下解决该问题的实现方法,文末会再总结如何使用 Node.js 中的 cors 模块和 Nginx 反向代理来解决跨域问题 。
文中使用 Node.js 做一些 Demo 的演示,每一小节之后也会给予代码的 Demo 地址 。
浏览器还是服务器的限制先思考下,CORS 是浏览器端还是服务器端的限制?为了更好地说明这个问题,从一段示例开始 。
从一段示例开始
index.html
<body><!-- <script src=https://www.isolves.com/it/cxkf/bk/2021-06-09/"https://cdn.bootcdn.net/ajax/libs/fetch/3.0.0/fetch.min.js"> -->