前后端分离跨域问题
参考文档
一. 什么是跨域
跨域是浏览器的专用概念,指js代码访问自己来源站点之外的站点。比如A站点网页中的js代码,请求了B站点的数据,就是跨域。
A和B要想被认为是同域,则必须有相同的协议(比如http和https就不行)、相同域名、和相同端口号(port)。
二. 解决方案
- 服务端解决方法:代理服务器
通过代理转发到想要请求的服务器上。使用nginx做反向代理
server{
listen 8080; #监听端口
server_name localhost; #监听域名
location ^~ /.do {#拦截请求
proxy_pass http://localhost:10010;#转发地址
}
}
3.前端解决方法:jsonp;关键点:**script的src属性可以随意引入不同源的js文件
**
4.(非前后端分离项目)服务端解决方法: 修改spring MVC配置,允许跨域
本文详细解析了前后端分离项目中遇到的跨域问题,包括跨域的概念、产生的原因及解决方案。介绍了服务端通过代理服务器及nginx反向代理解决跨域的方法,以及前端采用jsonp技术实现跨域请求。对于非前后端分离项目,提供了修改springMVC配置以允许跨域的策略。
2万+

被折叠的 条评论
为什么被折叠?



