今天在对接商品详情页面到购物车页面时,前端控制台出现以下异常:
分析思考
报错提示大概意思是9009访问9014的url时被阻塞了,于是检查前端服务层的请求url地址:
经过个把月的磨练,什么拼写错误语法错误已经不会再犯了,那为什么请求发不出去呢?再仔细查看地址,以往的url都是请求本项目下的服务,所以写的绝对路径。而这次的请求是发到其他项目下的,突然好像抓住了什么。
再往后看报错提示:blocked by CORS policy,这CORS策略是什么鬼...赶紧求助度娘
解决方法
只要是协议、域名、端口,三者其一不同就叫做跨域,浏览器出于安全策略就会禁止这种请求。明白怎么回事儿就简单了,网上各种跨域请求的解决方案有很多,这里仅展示一种:
1,前端服务层请求地址后面跟个参数:{'withCredentials':true}
2,后端控制层方法中加这两行代码控制权限:
至此,跨域请求的问题就解决了。