前言
跨域产生的原因
浏览期的安全策略。常见的解决跨域的方法:
1.JONSP
利用<script>标签的src可以发起跨域请求,大致过程:前端的方法名传到地址上callback=xx
缺点:只能get方法
2.domain.iframe、domain.hash、domain.parent等
上述这些不怎么常用
我接触到的react项目
用的是node.js中间件和nginx反向代理服务器
本地开发:
现在前端脚手架都设置了proxy代理,既然浏览器发起请求产生跨域,那就用node.js发送请求,即可产生跨域。
app.use(proxy({
targets: {
‘/prod-api/(.*)’: {
target: ‘项目服务器地址’, //后端服务器地址
changeOrigin: true,
pathRewrite: {
‘/prod-api’: “”
}
}
}
}))
通过正则匹配,当发送请求时,经过这个地方,匹配到路径,从而将地址替换掉,通过node发送正确的后端api。实际是node.js发起的请求
发布到线上:
nginx反向代理服务器
前端浏览器发送请求,经过nginx反向代理,到正确的服务端地址。
总体具体思路如下: