跨域本质上是浏览器的安全设置,前端和后台的域名或端口不一样的情况下,浏览器会先发送一个option请求验证后台是否允许跨域。如果验证通过则发送正常的请求,如果不通过返回403错误信息,提示后台禁止跨域。
解决跨域问题有两种思路:
1.在后台代码加上cors协议的代码。
但是在生产环境中,如果前端和后台在同一服务器上的情况下,为了安全性最好去掉跨域代码。
这就造成在需要在发布时增加去掉跨域代码的操作,有点麻烦。
2.从浏览器入手,以MAC的Chrome浏览器为例:
先新建一个文件夹,之后在terminal里用命令启动禁止了网络安全的Chrome。
open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=/Users/username/Documents/MyChromeDevUserData
这样也可以在本地跑前端代码调试服务器上的后台数据了。