Http访问跨域问题是一个老生常谈的事情,之前web端用JSP的时候就会出现,不同系统之间在JS中调用服务时,就会出现跨域问题,因为要访问的服务发布在不同的服务中。当时的解决办法是使用JQuery封装的jsonp方式,它类似于JQuery的.json方法的使用方式,这里就不赘述了。
最近在做前后端分离,前端框架采用的Angular2,同样的好巧不巧的也遇到了跨域问题,如下图所示:
我的做法是在后端接口response的时候设置Access-Control-Allow-Origin属性的值:
response.setHeader("Access-Control-Allow-Origin","*");@H_404_40@或者在方法上面添加注解:
@CrossOrigin(origins = {"http://localhost:4200","null"})@H_404_40@当然在后端也可以统一拦截进行处理,或者在前端也可以处理,但是修为尚浅,还不太清楚在前端怎么处理。而且前端的东西,远不止现在了解的这些Angular2的东西,现在的还是皮毛,前端的水还是很深的。